Files
lcbp3.np-dms.work/frontend/node_modules/execa/lib/terminate/cleanup.js
2025-09-21 20:29:15 +07:00

17 lines
428 B
JavaScript

import {addAbortListener} from 'node:events';
import {onExit} from 'signal-exit';
// If the `cleanup` option is used, call `subprocess.kill()` when the parent process exits
export const cleanupOnExit = (subprocess, {cleanup, detached}, {signal}) => {
if (!cleanup || detached) {
return;
}
const removeExitHandler = onExit(() => {
subprocess.kill();
});
addAbortListener(signal, () => {
removeExitHandler();
});
};