我正在使用node.js,我希望当有一个像./calculate这样的网址请求启动一个新进程来进行这些复杂的计算时,我希望这个过程继续进行,即使调用它的脚本已经完成。 有可能吗?
谢谢。
答案 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。但这就是我要研究的内容。