Comment trouvez-vous le processus parent des processus zombies?
Lorsque le processus enfant est quelque chose où le parent n'est pas tout à fait évident ...
Existe-t-il un moyen de répertorier les processus sous forme d'arborescence ou quelque chose d'autre?
Ajoutez l’option l
à votre ligne de commande ps. C'est l'option pour une sortie longue. L'identifiant du processus parent est l'une des colonnes supplémentaires, appelée PPID.
$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 508 3344 4498 18 0 2452 1236 wait Ss pts/12 0:00 /bin/sh
0 508 4467 17796 15 0 4664 1572 wait Ss pts/5 0:00 -/bin/bash
0 508 4498 4467 15 0 23032 15108 - S+ pts/5 2:20 emacs -nw
0 508 4532 17796 15 0 4532 1464 wait Ss pts/13 0:00 -/bin/bash
0 508 4916 17796 15 0 4664 1648 wait Ss pts/7 0:01 -/bin/bash
Une autre option est la commande pstree pour afficher une représentation sous forme d'arborescence ascii des processus. Vous voudrez probablement que l'option -p
affiche les identifiants de processus.
$ pstree -p dharris
screen(17796)─┬─bash(4467)───emacs(4498)───sh(3344)───sh(3345)
├─bash(4532)───su(31037)───bash(31041)
├─bash(4916)───pstree(26456)
├─bash(13547)───su(20442)───bash(20443)
└─bash(17797)
sshd(25813)───bash(25817)───screen(25870)
FWIW, ps
a un mode "forest" qui montre plusieurs arbres:
# ps --version
procps version 3.2.8
# ps f
PID TTY STAT TIME COMMAND
7889 pts/7 Ss 0:00 -bash
7988 pts/7 R+ 0:00 \_ ps f
2447 pts/0 Ss+ 0:00 -bash
2532 pts/0 S 0:00 \_ /bin/bash /home/robmee01/sync.sh
2548 pts/0 S 0:00 | \_ ssh [email protected]
2533 pts/0 S 0:00 \_ python /home/robmee01/IE2FF.py
2534 pts/0 S 0:08 \_ x11vnc -usepw -forever
2535 pts/0 S 2:47 \_ xosview
2536 pts/0 Sl 0:17 \_ Java -jar /work/timesheet/TimeSheet.jar
2662 pts/0 Sl 18:53 \_ ./firefox-bin
Si le processus que vous recherchez ne s'affiche pas, essayez de spécifier explicitement votre nom d'utilisateur: ps f -U $USER
; cela a tendance à montrer plus de processus que ps
.
Personnellement j'utilise ps fo pid,cmd
ou pour obtenir une vue de forêt avec mon choix de colonnes (pid,cmd
dans ce cas). Vous pouvez obtenir une liste complète des colonnes avec ps L
.
htop
est également bon, en particulier lorsque vous appuyez sur l
sur un nom de processus qui affichera tous les fichiers, tuyaux et URL ouverts pour un processus (requiert lsof
)