Wie kann ich ein bestimmtes (SIG-)Signal an systemd senden?

Wie kann ich ein bestimmtes (SIG-)Signal an systemd senden?

AnManpage von systemdgibt es einen Abschnitt namensSignale, in dem es um verschiedene Signale und ihre Auswirkungen auf das System geht.

Beispielsweise SIGRTMIN+3wird das System neu gestartet:

SIGRTMIN+3

Hält die Maschine an und startet die Unit halt.target. Dies entspricht im Wesentlichen

systemctl start halt.target  --job-mode=replace-irreversibly

und SIGRTMIN+15 startet die Maschine sofort neu:

SIGRTMIN+15

Immediately reboots the machine

Die Manpage liefert keinen entsprechenden Befehl. Ich habe versucht,

systemd SIGRTMIN+15

aber es scheint falsch zu sein, da ich Excess arguments.eine Fehlermeldung bekomme.

Wie soll ich diese Signale verwenden systemd?

Antwort1

Erstens sind sie nicht sigterm. Als nächstes übergeben Sie ein Signal, kein Argument. Zum Senden von Signalen verwenden wir kill. Siehe man kill. Sie müssen den Prozess angeben. systemdwird immer als Prozess 1 ausgeführt, der Init-Prozess.

Um zu senden SIGRTMIN+15, tun Sie dies sudo kill -SIGRTMIN+15 1.

Es ist jedoch besser, den Befehl shutdown --poweroffoder zu verwenden shutdown --reboot.

verwandte Informationen