在新的流程节点中执行功能

Giu*_*Pes 4 fork process node.js

我正在寻找一种方法(npm模块或lib非常有用)在新进程中运行javascript函数.但是,我不想在另一个文件中定义此函数.我正在寻找类似POSIX fork机制的东西.

我怎样才能在节点中实现这一点?

And*_*ers 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]();
Run Code Online (Sandbox Code Playgroud)