Linux

你如何殺死一個 systemd 服務的所有實例?

  • April 27, 2021

我想殺死一個 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。

引用自:https://serverfault.com/questions/1061681