Arka fon
systemdYeni bir hizmet için, foo_daemonbazen "kötü durum" durumuna giren ve SIGTERM(muhtemelen özel sinyal işleyicisi nedeniyle) ölmeyecek bir komut dosyası oluşturmam istendi . Bu, geliştiricilere, hizmeti şu şekilde başlatmaları / durdurmaları / yeniden başlatmaları talimatı verildiği için sorunludur:
systemctl start foo_daemon.servicesystemctl stop foo_daemon.servicesystemctl restart foo_daemon.service
Sorun
Bazen, foo_daemonkötü duruma geçme nedeniyle , onu zorla öldürmek zorundayız:
systemctl kill -s KILL foo_daemon.service
Soru
Komutumu nasıl ayarlayabilirim systemd, foo_daemonböylece bir kullanıcı hizmeti durdurmaya / yeniden başlatmaya çalıştığında systemd:
foo_daemonÜzerinden zarif bir kapatma girişiminde bulununSIGTERM.foo_daemonTamamlanması / kapatılması için 2 saniyeye kadar süre verin .- Süreci hala yaşıyorsa,
foo_daemonüzerinden zorla kapatmaya çalışınSIGKILL(bu nedenle, PID'nin geri dönüştürülmesi ve yanlış PID'ye karşısystemdsorun oluşması riski yokturSIGKILL). Test ettiğimiz cihaz hızlı bir şekilde sayısız işlemi gerçekleştiriyor / çatal kullanıyor; bu nedenle, PID geri dönüşümüyle ilgili bir soruna neden olan nadir ama çok gerçek bir endişe var. - Uygulamada, sadece PID geri dönüşümüyle ilgili paranoyaklığım varsa, sadece
SIGKILL'PID'e geri dönüşümlü bir PID'yi öldürmekten endişe duymadan' işlemine karşı bir senaryo yayınlamam uygun olur .