Tag: 不存在

为什么nodejs产生的进程变成<defunct>直到父进程退出

我们先看看这个现象, Nodejs代码: const cp = require('child_process'); var ls = cp.spawn('ls', ['/']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process closed with code ${code}`); }); while(true){} 运行这个nodejs代码,没有任何显示,似乎没有事件被触发。 然后在另一个shell中运行“ps -ef | grep ls | grpe -v grep”,结果是: liyuanq+ 10995 10990 0 11:06 pts/3 00:00:00 [ls] […]