我想限制子进程写入过多数据或占用过多 cpu 时间(无限循环)。在 C 语言中,我会调用 setrlimit(2) 来做到这一点。node.js中有这样的东西吗?
问问题
7370 次
3 回答
21
据我所知,没有提供setrlimit()
功能的 node.js 扩展,但是您可以通过一个小的 shell 变通方法来解决这个限制:
/bin/sh -c "ulimit -t 100; exec /usr/bin/node /my/node/program.js"
看起来核心 node.js 永远不会setrlimit()
支持 Windows 并且不再是仅 POSIX 的框架:https ://github.com/joyent/node/pull/2143
于 2011-11-21T21:49:34.337 回答
4
我认为这个新发布的模块正是您正在寻找的:https ://github.com/melor/node-posix
于 2011-11-22T12:22:08.780 回答
1
我认为没有任何内置方法。但是,您有时可以使用process.memoryUsage()检查进程的内存使用情况并手动终止该进程。
或者,如果您知道预计运行多长时间,则可以按照此处所述指定超时。
于 2011-11-18T13:19:41.920 回答