繁体   English   中英

如何在node.js(而不是child)中启动一个全新的进程?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM