mirror of
https://github.com/lehanspb/tuya-mqtt.git
synced 2025-12-16 17:54:36 +00:00
29 lines
870 B
JavaScript
29 lines
870 B
JavaScript
// Object to capture process exits and call app specific cleanup function
|
|
var debug = require('debug')('Cleanup');
|
|
|
|
function noOp() {};
|
|
|
|
exports.Cleanup = function Cleanup(callback) {
|
|
|
|
// attach user callback to the process event emitter
|
|
// if no callback, it will still exit gracefully on Ctrl-C
|
|
callback = callback || noOp;
|
|
process.on('cleanup', callback);
|
|
|
|
// do app specific cleaning before exiting
|
|
process.on('exit', function () {
|
|
process.emit('cleanup');
|
|
});
|
|
|
|
// catch ctrl+c event and exit normally
|
|
process.on('SIGINT', function () {
|
|
debug('Ctrl-C...');
|
|
process.exit(2);
|
|
});
|
|
|
|
//catch uncaught exceptions, trace, then exit normally
|
|
process.on('uncaughtException', function (e) {
|
|
debug('Uncaught Exception...', e.stack);
|
|
process.exit(99);
|
|
});
|
|
}; |