私はこのような子プロセスを生成するコードがあります。今までノードの子プロセス:常にそれ自身で終了しますか?
const spawn = require('child_process').spawn;
const ls = spawn('ls', ['-lh', '/usr'], {
detached: true
});
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls..on('error', (data) => {
console.log(`error: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
を、私はstdoutとstderrからのメッセージをコンソールことができ、それが終了した後に自動的にタスクを終了しました。
私の質問は:どのような状況で
は、それが 'エラー' のイベントに行くのだろうか?
子プロセスが終了できない可能性がありますか?もしそうなら、それはいつ起こるのだろうか?
ケース2が発生した場合、メインプロセスが既に終了している場合、これらの子プロセスを強制終了するにはどうすればよいですか?
明確にする必要がある場合は、自分の回答に関連する質問をしたり、意味がある場合は答えとして回答することはできます。 –