Systemd
如何向 systemd 發送特定(SIG)信號?
在systemd 的手冊頁上,有一個名為Signals的部分,它討論了不同的信號以及它們如何影響系統。
例如,
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
?
首先,它們不是 sigterm。接下來你傳遞一個信號,而不是一個參數。要發送信號,我們使用
kill
. 見man kill
。您必須指定流程。systemd
將始終作為程序 1(即 init 程序)執行。所以送
SIGRTMIN+15
,做sudo kill -SIGRTMIN+15 1
。但是最好使用命令
shutdown --poweroff
, 或shutdown --reboot
.