dispose() { process.disconnect(); }
process.on('message', (data) => { if(data === 'SIGINT') { process.emit('SIGINT'); process.disconnect(); } });
process.on( 'uncaughtException', (exceptionHandler = function(err) { process.send({ type: 'error', error: err.stack || err.message }); process.disconnect(); process.exit(1); }) );
process.on('message', (message) => { if (message === 'stop') { ws.end(() => process.disconnect()); return; } const app = message.app; const date = new Date(message.timestamp); ws.write(`[${date.toISOString()}] [${app}/${message.process.number} ` + `${message.process.pid}] [${message.type.toUpperCase()}]: ${message.text}\n`); });
function stop() { shouldStop = true; if (!started) { return; } if (stopping) { return; } stopping = true; console.log('stopping'); if (process.argv[2] === 'listen') { server.close(doStop); } else { doStop(); } function doStop() { if (!process.connected) { process.exit(0); } if (cluster.worker) { cluster.worker.disconnect(); } else { process.disconnect(); } } }
process.disconnect();