2017-11-17 19 views
0

nodejsでexecを使用してchild_processを作成中にエラーが発生しました。 0.12.xノードのバージョンで正常に動作していましたが、nodejsを6.11.3にアップグレードするだけです。このエラーは、10回中2回発生し、理由と解決策を見つけることができません。事前のおかげでnodejs execがsighupシグナルで失敗する

コードの詳細:

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' }" 

答えて

0

は、私は別のコマンドを使用して同じ問題を抱えていたし、いくつかの掘削後、私は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({ 

私はそれはあなたの特定の問題への解決策ではないと知っているが、私はこのことができます願っています。

関連する問題