Söylediği gibi, arayanın işlem grubunun tüm üyelerine sinyal gönderir.
İşlem grupları kabukta iş kontrolünü uygulamak için kullanılır (başka şeyler için kullanılabilirler, ancak etkileşimli kabuk işi kontrolü varlıklarının temel nedenidir).
Yazarken Ctrl-C, mevcut işlerin tüm işlemlerinin yalnızca onları başlatan değil öldürüldüğünü fark edeceksiniz . Ayrıca, bu arka plan işlerini öldürmez.
Bu süreç grupları ile elde edilir. Bir iş, kabuğun arka plan veya ön plana koyabileceği (terminalin ön plan işlem grubu olarak belirlenebilir) veya bir bütün olarak öldürdüğü bir kabuk tarafından başlatılan bir süreçler grubudur.
Sen ile işlem grubu kimliğine ve oturum kimlikleri hakkında bilgi bulabilirsiniz ps -j
( j
için Job kontrol).
PGID işlem grubunu öldürmek için $x
:
kill -- "-$x"
kill 0
Arayanın işlem grubunu öldürür.
Bunu yaparsanız: /bin/kill 0
kabuk, bu kill
komutu çalıştırmak için yeni bir iş başlatacak kill
, sadece kendini öldürecektir.
kill
genellikle yerleşik bir kabuk olsa da, kabuğun kill
işlem grubunu öldürecektir.
Bununla birlikte, kabuk etkileşimli olduğunda, işlem gruplarını yöneten işlemdir, bu nedenle tipik olarak kabuğun işlem grubunda başka bir işlem yoktur. Kabuk tarafından başlatılan tüm işlemler, diğer işlem gruplarındadır:
$ sleep 1000 &
[1] 22746
$ ps -j
PID PGID SID TTY TIME CMD
22735 22735 22735 pts/23 00:00:00 zsh
22746 22746 22735 pts/23 00:00:00 sleep
22749 22749 22735 pts/23 00:00:00 ps
Yukarıda sleep
ve ps
iki farklı işlem grubunda, biri arka planda, biri ön planda ve kabuğun işlem grubundan farklı.
Yine de yapabilirsin:
(man kill & sleep 1; ps -j; kill 0)
Etkileşimli kabuk, bu alt kabuk için yeni bir işlem grubuna başlayacak ve hem alt kabuk hem de adam (ve çağrı cihazınız, groff… gibi bir adam tarafından başlatılan diğer komutlar) aynı işlem grubunda kill 0
olacaktı , orada da çalışacaktı. ( sleep
Yukarıdaki çağrı cihazının başlaması için yeterli zaman vermek, böylece onu ps -j
öldürmeden önce çıktıda görebiliriz ).
SIGTERM
Yaptığı sürece bir a gönderir .man
Komut bunu görmezden seçmiştir.