Hyd*_*mal 36 javascript child-process node.js
我有两个单独的节点应用程序.我希望其中一个能够在代码中的某个时刻启动另一个.我该怎么做呢?
hex*_*ide 45
使用child_process.fork()
.它类似于spawn()
,但用于创建V8的全新实例.因此它专门用于运行Node的新实例.如果您只是执行命令,则使用spawn()
或exec()
.
var fork = require('child_process').fork;
var child = fork('./script');
Run Code Online (Sandbox Code Playgroud)
请注意,在使用时fork()
,默认情况下,stdio
流与父关联.这意味着所有输出和错误都将显示在父进程中.如果您不希望与父级共享流,则可以stdio
在选项中定义属性:
var child = fork('./script', [], {
stdio: 'pipe'
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以与主进程的流分开处理该进程.
child.stdin.on('data', function(data) {
// output from the child process
});
Run Code Online (Sandbox Code Playgroud)
另请注意,该过程不会自动退出.您必须process.exit()
从生成的Node进程中调用它才能退出.
归档时间: |
|
查看次数: |
18470 次 |
最近记录: |