diff --git a/packages/master/master.js b/packages/master/master.js index 4f69a5dc..dbc1ed1a 100755 --- a/packages/master/master.js +++ b/packages/master/master.js @@ -1985,13 +1985,9 @@ async function startServer(args) { logger.info("Caught termination signal, shutting down"); shutdown(); }); - - // terminal closed process.on("SIGHUP", () => { - // No graceful cleanup, no warning out (stdout is likely closed.) - // Don't close the terminal with the clusterio master in it. - // eslint-disable-next-line no-process-exit - process.exit(1); + logger.info("Terminal closed, shutting down"); + shutdown(); }); await fs.ensureDir(masterConfig.get("master.database_directory")); diff --git a/packages/slave/slave.js b/packages/slave/slave.js index 3c89dcb7..7e474879 100755 --- a/packages/slave/slave.js +++ b/packages/slave/slave.js @@ -1633,7 +1633,7 @@ async function startSlave() { process.on("SIGTERM", () => { if (secondSigterm) { setBlocking(true); - logger.fatal("Caught second termination signal, terminating immediately"); + logger.fatal("Caught second termination, terminating immediately"); // eslint-disable-next-line no-process-exit process.exit(1); } @@ -1642,6 +1642,10 @@ async function startSlave() { logger.info("Caught termination signal, shutting down"); slave.shutdown(); }); + process.on("SIGHUP", () => { + logger.info("Terminal closed, shutting down"); + slave.shutdown(); + }); slaveConnector.once("connect", () => { logger.add(new libLoggingUtils.LinkTransport({ link: slave }));