php - 触发 Node js文件

标签 php node.js command

我有一个通过 node.js 运行的 JS 文件,所以通常我会打开一个终端窗口并输入类似 node myfile.js 之类的内容,它会运行一整天;很有趣。

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

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

所以有两个问题:

  1. 有可能吗?如果可以,我该如何开始?
  2. 是否安全,如果不安全,是否可以保证安全?

基于斯瓦特金斯的回应

我试过了,一无所获

 $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/

相关文章:

node.js - 生成的 phantomjs 进程挂起

wpf - MVVM 和有状态命令 - 好主意还是坏主意?

php - 通过 php 将 mysql 数据库导出到 csv 在 4kb 后停止

php - while 循环不显示从数据库收集的所有数据

Node.js 应用程序获取 MongoError 连接关闭

vim - 学习Vim : Best way to remove space between words

php - 如何使用 Laravel 的 command fire 方法运行 python 脚本?

php - 在composer中插入类的路径,所以我可以在php的 "use"中删除它

PHP MYSQL 将关联数组(记录)写入mysql

angularjs - 使用 Node.js Angular 和 socket.io 后端 mysql 和 php 进行实时股票观察