From: Daan De Meyer Date: Thu, 7 Dec 2023 11:51:13 +0000 (+0100) Subject: Handle SIGTERM like a keyboard interrupt X-Git-Tag: v20~103^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2131%2Fhead;p=thirdparty%2Fmkosi.git Handle SIGTERM like a keyboard interrupt Let's make sure we do proper cleanup on SIGTERM as well. --- diff --git a/mkosi/__main__.py b/mkosi/__main__.py index df2583543..b5e885cb2 100644 --- a/mkosi/__main__.py +++ b/mkosi/__main__.py @@ -3,7 +3,10 @@ import faulthandler import shutil +import signal import sys +from types import FrameType +from typing import Optional from mkosi import run_verb from mkosi.config import parse_config @@ -12,8 +15,14 @@ from mkosi.run import run, uncaught_exception_handler from mkosi.util import INVOKING_USER +def onsigterm(signal: int, frame: Optional[FrameType]) -> None: + raise KeyboardInterrupt() + + @uncaught_exception_handler(exit=sys.exit) def main() -> None: + signal.signal(signal.SIGTERM, onsigterm) + log_setup() # Ensure that the name and home of the user we are running as are resolved as early as possible. INVOKING_USER.init()