如何向 systemd 发送特定的 (SIG) 信号?

如何向 systemd 发送特定的 (SIG) 信号?

systemd 的联机帮助页,有一个部分称为信号,讨论不同的信号以及它们如何影响系统。

例如,SIGRTMIN+3重新启动系统:

SIGRTMIN+3

停止机器,启动halt.target 单元。这主要相当于

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

SIGRTMIN+15 立即重新启动机器:

SIGRTMIN+15

Immediately reboots the machine

手册页不提供等效命令。我尝试使用

systemd SIGRTMIN+15

但当我收到Excess arguments.错误时,这似乎是错误的。

我应该如何使用这些信号systemd

答案1

首先,它们不是 sigterm。接下来你传递一个信号,而不是一个参数。为了发送信号,我们使用kill.看man kill。你必须指定过程。systemd将始终作为进程 1(init 进程)运行。

故送SIGRTMIN+15,做sudo kill -SIGRTMIN+15 1

不过,最好使用命令shutdown --poweroff, 或shutdown --reboot

相关内容