0
我已經催生了一個子進程,下面是代碼:如何爲子進程產生孫子進程?
const spawn = require('child_process').spawn;
const ls = spawn('ls', ['-lh', '/usr'], { detached: true });
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
fs.writeFileSync('path-to-test.txt', 'stdout');
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
fs.writeFileSync('path-to-test.txt', 'stderr');
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
隨着選項detached: true
,它將保持孩子進程中運行,即使父進程被殺死。
我的問題是:如何在這個子進程下運行孫子進程?因爲在我的senario中,產生這個子進程後,父進程將被終止。所以我不能產生另一個進程,除了使用現有的子進程來產生孫子進程。
我知道process.argv [0]的值來自命令行參數,但我很抱歉,我在那裏輸入了錯誤的代碼,現在已經被修正。所以我只有一個帶有子進程的文件'app.js'來運行一個簡單的命令,然後它應該產生一個孫子進程來運行另一個簡單的命令。而已。 –
@ Ng2-Fun:你誤解了子進程是什麼。你不運行一個子進程來運行一個簡單的命令。這個簡單的命令是你的子進程。 – slebetman
@slebetman - 感謝您糾正我。 –