在新过程节点中执行函数



我正在寻找一种在新过程中运行JavaScript函数的方式(NPM模块或LIB真的很有用)。但是,我不想在其他文件中定义此功能。我正在寻找类似POSIX fork机构的东西。

如何在节点中实现这一目标?

您可以使用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]();