Dopo aver usato semplicemente kill <some_pid>
su sistemi Unix per molti anni, ho imparato pkill
da un giovane esperto di Linux collaboratore collega 1 .
Presto ho accettato la strada di Linux, pgrep
-ing e pkill
-ing per molti giorni e notti, attraverso rallentamenti e condizioni di gara. Questo è andato tutto bene.
Ma ora non vedo altro che killall
. Le istruzioni sembrano solo menzionare killall
, e non sono sicuro se si tratti di una sorta di sviluppo parallelo, se killall
è un successore pkill
o qualcos'altro.
Sembra funzionare come un obiettivo più mirato pkill
, ma sono sicuro che mi manca qualcosa.
Può una persona esperta di Ubuntu / Debian 2 spiegare quando (o perché) killall
dovrebbe essere usato, specialmente se dovrebbe essere usato in preferenza pkill
(quando pkill
spesso sembra più facile, perché posso essere più sciatto con la corrispondenza dei nomi, almeno per impostazione predefinita).
Quando parlo di killall
, non sto pensando al comando che su alcuni sistemi Unix (Solaris, AIX,?) Ucciderebbe tutti i processi dell'utente. Ecco una descrizione di quella versione, da una pagina di manuale per IBM AIX :
Il comando killall annulla tutti i processi che hai avviato, ad eccezione di quelli che producono il processo killall. Questo comando fornisce un comodo mezzo per annullare tutti i processi creati dalla shell che controlli. Quando viene avviato da un utente root, il comando killall annulla tutti i processi cancellabili ad eccezione di quelli che lo hanno avviato. Se vengono specificati più segnali, solo l'ultimo è efficace.
1 "collega" è l'aggiornamento gratuito da "collega", quindi potrebbe anche.
2 Inizialmente pensavo fosse una cosa Linux o Debian, ma alcune fonti affermano che Linux killall
sia derivato da Unix alla BSD.
killall
(vecchio?) Sistema Solaris, ma si comportava diversamente. Ha ucciso tutto.