[systemd-devel] stop service in 3 steps
Georg Müller
georgmueller at gmx.net
Thu Nov 28 12:48:52 UTC 2024
Am 27.11.24 um 09:55 schrieb Lennart Poettering:
> SIGABRT has a pretty clear usecase: to abnormally terminate a program
> while creating a coredump. It seems you want to redefine what SIGABRT
> is supposed to do? That's quite problematic I would say. What's the
> rationale for that?
>
> Note that systemd sends SIGABRT for various reasons on its own, for
> example in context of the per-service watchdog logic. Hence,
> redefining locally what it means substantially changes the contract
> between services and the service manager.
The program has its own abort handler and does not use the core dump functionality
of the system. It does its own analysis by starting gdb via fork() and execl(3),
running some gdb scripts and then exits.
The requested extra SIGKILL would only be used if something goes really wrong
in these steps (instead of leaving the service in the "failed" state).
Best regards,
Georg
More information about the systemd-devel
mailing list