class ShutdownService { private static closeCallbacks: (() => void)[] = []; static addShutdownListener(close: () => void) { this.closeCallbacks.push(close); } static initShutdownHook(): void { process.on("SIGINT", () => { this.closeCallbacks.forEach((close: () => void) => close()); process.exit(1); }); process.on("SIGTERM", () => { this.closeCallbacks.forEach((close: () => void) => close()); process.exit(1); }); } } export default ShutdownService;