1
雖然書面方式的單元測試的一個簡單的工具,我無法得到一個子進程的進程退出代碼開始require('child_process').spawn
。爲了簡化,如果向下,考慮其與代碼35退出這個簡單的節點的命令:的NodeJS:child_process.spawn沒有報告退出代碼
SHELL> node -e "process.exit(35)" & [1] 23427 [1]+ Saída 35 node -e "process.exit(35)"
現在考慮下面的文件中,其中上述命令與exec
並用spawn
執行。目標是捕捉退出代碼:
SHELL> cat WTF.js var cp = require('child_process'); cp.exec('node -e "process.exit(35);"', function(err){ console.log('child exit code (exec)', err.code); }); cp.spawn('node', ['-e', '"process.exit(35);"']).on('exit', function(code){ console.log('child exit code (spawn)', code); });
但它運行時...驚喜:
SHELL> node WTF.js child exit code (exec) 35 child exit code (spawn) 0
我失去了在spawn調用了一些東西明顯?
SHELL> node --version v6.0.0
真棒!按預期工作。 – laconbass