Linux
你如何殺死一個 systemd 服務的所有實例?
我想殺死一個 systemd 服務的所有實例。
這很好用:
sudo systemctl stop 'custom-service@*'
但它很慢,因為它執行我的自定義ExecStop
,它做了額外的工作來安全地關閉程序。在某些情況下,我寧願殺死程序。我試圖這樣做,
sudo systemctl kill -s SIGKILL 'custom-service@*'
但是,這不會殺死任何東西。如果我將其修改為特定實例,它可以正常工作並且該實例被殺死。例如
sudo systemctl kill -s SIGKILL 'custom-service@someinstance-1.service'
,但我寧願不為每個人都這樣做。我錯過了什麼嗎?
只需使用 systemd 停止。一般來說,將 SIGKILL 發送到任何 systemd 單元都不是一個好主意。此外,如果您閱讀 man systemd.kill 它一次只能在一個特定單元上工作,而不是 glob。