我有一个通过 node.js 运行的 JS 文件,所以通常我会打开一个终端窗口并输入类似 node myfile.js
之类的内容,它会运行一整天;很有趣。
然后当我想重新启动它时,我按了 control-c 然后它就退出了。然后我可以再次运行命令。
现在我想做的是能够通过网页来执行此操作,以便我的用户可以运行特定的 JS 文件并能够“重新启动”它们。
所以有两个问题:
- 有可能吗?如果可以,我该如何开始?
- 是否安全,如果不安全,是否可以保证安全?
基于斯瓦特金斯的回应
我试过了,一无所获
$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);
关于php - 触发 Node js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620636/