Performance: Child process exit codes
This concept affects how efficiently a Node.js application handles subprocess termination, impacting responsiveness and resource cleanup.
Jump into concepts and practice - no test required
const { spawn } = require('child_process');
const child = spawn('someCommand');
child.on('exit', (code, signal) => {
if (code !== 0) {
console.error(`Process exited with code ${code}`);
}
// Cleanup resources here
});
const { spawn } = require('child_process');
const child = spawn('someCommand');
// No listener for 'exit' or 'close' events
// No handling of exit codes
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Ignoring child process exit codes | N/A | N/A | N/A | [X] Bad |
| Listening and handling exit codes properly | N/A | N/A | N/A | [OK] Good |
0 from a Node.js child process usually mean?on method.child.on('exit', (code, signal) => {}) syntax.const { spawn } = require('child_process');
const child = spawn('node', ['-e', "process.exit(5)"]);
child.on('exit', (code, signal) => {
console.log(`Exit code: ${code}, Signal: ${signal}`);
});process.exit(5), so it exits with code 5.const { spawn } = require('child_process');
const child = spawn('node', ['-e', "setTimeout(() => process.exit(0), 1000)"]);
child.unref();
child.on('exit', (code) => {
console.log(`Exited with code ${code}`);
});