![](/img/trans.png)
[英]nodejs exec command fails for some windows commands with no clear error message
[英]nodejs exec fails with sighup signal
我在nodejs中通過exec創建child_process時遇到錯誤。 在0.12.x節點版本下運行正常,唯一的變化是將nodejs升級到6.11.3.10次錯誤中有2次找不到原因和解決方案。 提前致謝
代碼詳細信息:
var exec = require('child_process').exec;
cmd = 'sh /home/ec2-user/bin/lldn start';
exec(cmd,{ shell: '/bin/bash'},
function (error, stdout, stderr) {
if (error) {
deferred.reject({
stdout: stdout,
stderr: stderr,
error: error,
cmd: cmd
});
} else {
deferred.resolve({
stdout: stdout,
stderr: stderr,
error: error,
cmd: cmd
});
}
});
錯誤詳情:
msg="{ Error: Command failed: sh /home/ec2-
user/logu/datanode/bin/lldn start
at ChildProcess.exithandler (child_process.js:198:12)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:920:16)
at Process.ChildProcess._handle.onexit
(internal/child_process.js:230:5)
killed: false,
code: null,
signal: 'SIGHUP',
cmd: 'sh /home/ec2-user/logu/datanode/bin/lldn start' }"
我用不同的命令遇到了同樣的問題,經過一番挖掘之后,我意識到exec
隱藏了正確的錯誤。
我能夠顯示出在以下位置添加記錄器的真正錯誤:
function (error, stdout, stderr) {
// Not all three vars are needed, but better to show more
console.log(error, stdout, stderr);
if (error) {
deferred.reject({
我知道這不是解決您特定問題的方法,但希望能對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.