在nodejs上启动新的进程

我正在和node.js一起工作,我希望当有一个像./calculate这样的url请求时,开始一个新的进程来完成这些复杂的计算,而且即使调用它的脚本已经完成,我也希望这个进程继续下去。 可能吗?

谢谢。

您可以使用本机提供的subprocess设施: http : //nodejs.org/api/child_process.html

并且使用unix“nohup”命令,即使父进程死了,也能保持生成的进程仍然活着。

这有不同的方法。

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

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

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

所以在你最后的评论之后,我知道你要做的更好。

你想产卵进程而不是subprocess。 最好和更干净的方法是使用某种魔鬼来运行它们。

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

这可能是你的完美工具。 我从来没有用过它,只是cli。 但是,这是我所看到的。