BossBey File Manager
PHP:
8.2.30
OS:
Linux
User:
imagivibe
Root
/
.
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
@npmcli
/
run-script
/
lib
📤 Upload
📝 New File
📁 New Folder
Close
Editing: signal-manager.js
const runningProcs = new Set() let handlersInstalled = false const forwardedSignals = [ 'SIGINT', 'SIGTERM', ] const handleSignal = signal => { for (const proc of runningProcs) { proc.kill(signal) } } const setupListeners = () => { for (const signal of forwardedSignals) { process.on(signal, handleSignal) } handlersInstalled = true } const cleanupListeners = () => { if (runningProcs.size === 0) { for (const signal of forwardedSignals) { process.removeListener(signal, handleSignal) } handlersInstalled = false } } const add = proc => { runningProcs.add(proc) if (!handlersInstalled) { setupListeners() } proc.once('exit', () => { runningProcs.delete(proc) cleanupListeners() }) } module.exports = { add, handleSignal, forwardedSignals, }
Save
Cancel