From b1a34444c3f83279d8c5c3e9f9b7d769bbf035da Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 7 Dec 2023 12:51:13 +0100 Subject: [PATCH] Handle SIGTERM like a keyboard interrupt Let's make sure we do proper cleanup on SIGTERM as well. --- mkosi/__main__.py | 9 +++++++++ 1 file changed, 9 insertions(+) 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() -- 2.47.2