当前位置: 首页 > 面试题库 >

触发节点js文件

上官鸿朗
2023-03-14
问题内容

我有一个通过node.js运行的JS文件,因此通常我会打开一个终端窗口并输入类似内容,node myfile.js然后它会整天运行;好玩

然后,当我想重新启动它时,我按下Ctrl-c,然后退出。然后,我可以再次运行命令。

现在,我想做的是能够通过网页执行此操作,以便我的用户可以运行特定的JS文件,也可以“重新引导”它们。

因此有两个问题:

  1. 有可能,如果可以,我如何开始?
  2. 它安全吗?如果不安全,可以安全吗?

基于swatkins回应

我尝试了这个但一无所获

 $output = exec("node -v");
 echo $output;

然后我尝试在我的本地计算机上,它工作正常,什么给了?

我还是不确定安全性和停止正在运行的脚本的能力


问题答案:

假设您使用的是基于Unix的操作系统:

您可以通过exec()函数运行shell命令:

// in php file
// to start the script 
exec("node myscript.js &", $output);

$output变成输出的每一行的数组,因此您可以看到进程ID是什么。然后,您将使用该进程ID杀死脚本:

exec("kill " . $processid);


 类似资料:
  • Expressjs框架有一个方法。如果不使用整个框架,我怎么能做到这一点? 我正在使用node-native-zip创建一个归档文件,并希望将其发送给用户。

  • 我有两个节点具有相同的Quartz调度器。JobStore具有作业的唯一触发器,它每5秒执行一次,处理该作业需要一秒。

  • 我不知道这是如何可能的编程新我想打印值,在abc.txt中存在,但不知道如何做到这一点,使用节点js 预期输出:

  • 问题内容: 以下代码使我在节点js中出现异常:“需要删除或更新” 由于我指定了更新操作,因此无法解决问题。 问题答案: 节点驱动程序中的语法与外壳程序中的语法不同,这是您使用的语法。 有一个单独的功能

  • 我有两个表有下面的模式,我想从用户表中获取用户名和密码,从信息表中获取全名。 var infoSchema=mongoose.Schema({khatam_id:String,user_id:String,fullname:String,}); var usersSchema=mongoose.Schema({user\u id:String,username:String,password:St

  • 我获得了苹果推送服务的以下代码: 当我在localhost上运行服务器时,我输入pem键,服务器开始工作。 我如何将它设置为自动输入,因为我将它部署在heroku上,我会推heroku master,服务器会因为我没有输入pem密钥而失败。