触发节点js文件

mcg*_*ilm 14 php command node.js

我有一个通过node.js运行的JS文件,所以通常我打开一个终端窗口并键入类似的东西node myfile.js,它运行并运行一整天; 乐趣.

然后,当我想重新启动它时,我点击control-c并退出.然后我可以再次运行该命令.

现在我想做的是能够通过网页执行此操作,以便我的用户可以运行特定的JS文件,并且还能够"重新启动"它们.

所以有两个问题:

  1. 是否可能,如果是这样,我该如何开始?
  2. 它是否安全,如果没有,它可以安全吗?

基于swatkins的反应

我试过这个,一无所获

 $output = exec("node -v");
 echo $output;
Run Code Online (Sandbox Code Playgroud)

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

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

swa*_*ins 17

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

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

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

$output成为每行输出的数组,因此您可以看到进程ID是什么.然后,您将使用该进程ID来终止脚本:

exec("kill " . $processid);
Run Code Online (Sandbox Code Playgroud)