如果我child_process.exec('mycommand', { timeout: 5000 }, callback)
,我不知道产生的错误是由超时还是其他原因引起的。有没有办法确定失败是否是由传递给{ timeout: 5000 }
的{{1}}选项引起的?
答案 0 :(得分:1)
只有一种可能不太可靠的方式。
因此,当您根据自己的需要使用它时要小心
工作原理:
SIGTERM
信号,除非您在选项{killSignal:' SIGINT'} cb(err,stdout,stderr)
填充到err.code
并null
填充到err.signal
来调用父流程的回拨SIGTERM
或者不管它是什么因此,您可以在回调中检查err.signal
。再次这不太可靠,因为你可以从任务管理器或使用shell的kill命令杀死子进程。