[英]How to start an entirely new process in node.js (not child)?
我在启动进程时遇到的唯一答案是使用名为child_process的东西。 但我想生成一个完全独立于当前运行节点进程的全新进程,这可能吗?
您可以在分离状态下生成子进程,忽略输出,并使用child.unref()
从父事件循环中删除子child.unref()
。
此代码将启动someScript.sh
,并在保持someScript.sh
运行时退出。
var spawn = require('child_process').spawn;
var child = spawn(__dirname + '/someScript.sh', [], {
detached: true ,
stdio: [ 'ignore', 'ignore', 'ignore' ]
});
child.unref();
有关更详细的信息和替代方法(例如日志输出/等),请查看spawn
的文档。 还有其他例子:
http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
没有太多的信息,但它似乎是子进程的spawn,exec或fork选项。 另一个选项是共享端口,这两个选项在此进一步阐明: http : //craigbrookes.com/2012/03/17/multiple-processes-in-nodejs/
您可以使用本机提供的子进程工具: http : //nodejs.org/api/child_process.html
并使用unix“nohup”命令使生成的进程保持活动状态,即使父进程已经死亡。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.