一尘不染

触发节点js文件

node.js

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

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

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

因此有两个问题:

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

基于swatkins回应

我尝试了这个但一无所获

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

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

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


阅读 222

收藏
2020-07-07

共1个答案

一尘不染

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

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

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

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

exec("kill " . $processid);
2020-07-07