我正在寻找一种方法(npm模块或lib非常有用)在新进程中运行javascript函数。但是,我不想在另一个文件中定义此函数。我正在寻找类似POSIX fork
机制的东西。
如何在节点中实现此目的?
答案 0 :(得分:5)
您可以使用child_process.fork分叉新流程。它接受一个单独的模块,但如果你必须将它全部包含在一个文件中,你可以为你的脚本提供一个模式参数:
var child_process = require('child_process');
var mode = process.argv[2] ? process.argv[2] : 'default';
var modes = {
default: function() {
console.log('I am the default, I will fork a child');
child_process.fork(__filename, ['child']);
},
child: function() {
console.log('I am the child!');
}
};
modes[mode]();