使用spawn时,由于抛出ENOMEM(内存不足)errnoException,我的Node.js脚本崩溃了。
错误:
child_process.js:935
throw errnoException(process._errno, 'spawn');
^
Error: spawn ENOMEM
at errnoException (child_process.js:988:11)
at ChildProcess.spawn (child_process.js:935:11)
at Object.exports.spawn (child_process.js:723:9)
at module.exports ([...]/node_modules/zbarimg/index.js:19:23)
我已经在为error
andexit
事件使用侦听器,但是在发生此错误的情况下不会触发它们。
我的代码:
zbarimg = process.spawn('zbarimg', [photo, '-q']);
zbarimg.on('error', function(err) { ... });
zbarimg.on('close', function(code) { ... });
完整的源代码可用。
我有什么办法可以防止脚本崩溃?如何捕获抛出的ENOMEM错误?
谢谢!