我想杀死一个 systemd 服务的所有实例。
这很好用:sudo systemctl stop 'custom-service@*'
但它很慢,因为它运行我的自定义ExecStop
,它做了额外的工作来安全地关闭进程。
在某些情况下,我宁愿杀死进程。我试图这样做,
sudo systemctl kill -s SIGKILL 'custom-service@*'
但是,这不会杀死任何东西。
如果我将其修改为特定实例,它可以正常工作并且该实例被杀死。例如sudo systemctl kill -s SIGKILL '[email protected]'
,但我宁愿不为每个人都这样做。
我错过了什么吗?
只需使用 systemd 停止。一般来说,将 SIGKILL 发送到任何 systemd 单元都不是一个好主意。此外,如果您阅读 man systemd.kill 它一次只能在一个特定单元上工作,而不是 glob。