【发布时间】:2015-06-27 22:56:23
【问题描述】:
我有一个使用 child_process.fork 生成的子进程并想终止它。问题是子进程进行了一些冗长的 CPU 绑定计算,而我无法控制它。也就是说,CPU 绑定的代码片段不能被重构以使用 process.nextTick 或轮询。
一个非常简单的例子:
父.js
var cp = require('child_process');
var child = cp.fork('child.js');
child.js
...
while(true){} // lengthy computation which I cannot modify
...
可以终止吗?最好以允许捕获孩子的退出事件以进行一些清理的方式?
使用 child.kill() 发送 SIGTERM/SIGKILL/etc 不会 似乎在 Windows 上工作。我假设即使它可以在其他操作系统上运行,它也不会因为孩子在进行计算时无法处理事件而终止该进程。
【问题讨论】:
标签: node.js