child_process 'close' always (?) emitted after 'exit'
- Version: master
- Platform: Linux 5.4.0-70-generic #78 (closed)-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linuxd
- Subsystem: child_process
What steps will reproduce the bug?
const child_process = require('child_process');
const proc = child_process.spawn('bash', ['-c', 'exec 0>&- 1>&- 2>&-; sleep 5'], {
stdio: ['inherit', 'pipe', 'inherit']
});
proc.stdout.pipe(process.stdout);
proc.on('exit', () => console.log('exit'));
proc.on('close', () => console.log('close'));
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior?
'close' should be emitted immediately (all stdio streams are closed), 'exit' after 5 seconds
What do you see instead?
5 seconds pass, then 'exit' is emitted and then 'closed'