Dans le man page
, il est écrit:
0 All processes in the current process group are signaled
Et j'ai essayé comme ça:
$ man kill &
[1] 15247
$
[1]+ Stopped man kill
$ kill 0
$ ps
15247 pts/41 00:00:00 man
Si je comprends bien, kill 0
va tuer tous les processus dans le processus actuel, qui comprend pid15247
. Cependant, il n'a rien fait dans cet exemple. Quelqu'un at-il des idées sur la façon de l'utiliser?
Réponses:
Je n'ai pas trouvé de note sur le
kill 0
comportement de ma page de manuel kill (debian).Mais j'ai deux commentaires:
(1) "Groupe de processus" n'est peut-être pas ce que vous attendez. Vous pouvez afficher l'ID de groupe de processus (PGID) avec
ps -o "%p %P %r %c %a"
:Ainsi,
man
avec l'outil de pageur d'affichage (less
) est dans le même groupe de processus, mais c'est différent de celui du shell (zsh dans mon cas).(2) Il existe probablement deux
kill
commandes différentes . Un intégré dansbash
(voir bash (1), Section "SHELL BUILTIN COMMANDS") et l'externe/bin/kill
. Ces deux peuvent se comporter différemment! Vous pouvez indiquer explicitement celui que vous souhaitez exécuter en tapantbuiltin kill
oucommand kill
au lieu dekill
. La commande externe , vous pouvez également exécuter en spécifiant le chemin:/bin/kill
.la source
PPID
est l' ID de processus parent , qui est souvent, mais pas nécessairement, l'ID de groupe de processus. La colonne correcte estPGID
, qui n'apparaît pas dans laps
sortie par défaut ; vous devez utiliser l'-o
option pour construire un format personnalisé qui l'inclut.:-(
)Pour arrêter tous vos processus et vous déconnecter, entrez:
Cela envoie le signal 9, le signal SIGKILL, à tous les processus ayant un ID de groupe de processus égal à l'ID de groupe de processus de l'expéditeur. Parce que le shell ne peut pas ignorer le signal SIGKILL, cela arrête également le shell de connexion et vous déconnecte
Il s'agit du manuel AIX d'IBM, mais peut-être que le concept s'applique.
Cette fonctionnalité n'existe pas sous Linux "kill" (comme je peux le voir); mais c'est comme ça que "tuer" se comporte:
Tuer 0 ne tue pas le pid 0. Au lieu de cela, c'est une option dans kill pour tuer tous les processus du groupe actuel . Avec votre commande, vous tuez tout dans l'ID de groupe de processus (GID) du shell qui a émis la commande kill.
la source