在nodejs上启动新进程

时间:2012-08-09 03:16:14

标签: javascript node.js process

我正在使用node.js,我希望当有一个像./calculate这样的网址请求启动一个新进程来进行这些复杂的计算时,我希望这个过程继续进行,即使调用它的脚本已经完成。 有可能吗?

谢谢。

3 个答案:

答案 0 :(得分:4)

您可以使用本机提供的子进程工具: http://nodejs.org/api/child_process.html

使用unix“nohup”命令使生成的进程保持活动状态,即使父进程已经死亡。

答案 1 :(得分:3)

有不同的方法。

您可以使用https://github.com/pgriess/node-webworker

或者更好http://nodejs.org/docs/latest/api/cluster.html#cluster_cluster

这些解决方案是如果你想在Node中做一个子进程,你也可以简单地生成一个新的Node进程并等待输出(http://nodejs.org/api/all.html#all_child_process_spawn_command_args_options)但是node- webworker是该解决方案的包装器,更加清洁。

答案 2 :(得分:1)

因此,在您上次发表评论后,我知道您更了解自己想做什么。

您想要生成进程而不是子进程。最好和更清洁的方法是使用某种魔鬼来运行它们。

永远看看:
https://github.com/nodejitsu/forever
https://github.com/nodejitsu/forever-monitor

这可能是您的完美工具。我从未使用过以编程方式,只是cli。但这就是我要研究的内容。