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 次 |
| 最近记录: |