2016-03-25 4 views
0

https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callbackシェルコマンドにパイプが含まれていると、コールバックを呼び出す前にすべてが終了するのをchild_process.exec()が待機しますか?

const exec = require('child_process').exec; 
const child = exec('cat *.js bad_file | wc -l', 
    (error, stdout, stderr) => { 
    console.log(`stdout: ${stdout}`); 
    console.log(`stderr: ${stderr}`); 
    if (error !== null) { 
     console.log(`exec error: ${error}`); 
    } 
}); 

シェルコマンドでパイプが幹部にあります

()は、私の質問は、コールバックが「猫」が終了した後、または「WC」終了後に呼び出されている、このような例がありますか?

この場合に何が起こるか

const child = exec('cat *.js; ls -l', callback); 

ありがとう!

答えて

0

例を実行したのは、任意の関数としてexec()であり、Javascriptでコールバックを使用しています。コールバック前にエラーが発生しなければ、すべてを実行します。

例として、JSONファイル:

[ 
    { 
    "test" : { 
     "test1" : 1, 
     "test2" : 2, 
     "test3" : "this is a string" 
    } 
    } 
] 

コード:

const exec = require('child_process').exec; 
const child = exec('cat json.json | wc -l', 
    (error, stdout, stderr) => { 
    console.log('stdout:', stdout); 
    if (error !== null) { 
     console.log('exec error: ', error); 
    } 
    } 
); 

出力:

​​3210
+1

非常に良い私は文書で明示的にこれを見ることができたい、ということを知るために。 – user3552178

+0

ハッピーが助けてくれました。 – Rabea

関連する問題