Comment trouvez-vous le processus parental d'un processus zombie?

Comment trouvez-vous la procédure parentale des processus zombie?

Lorsque le processus enfant est quelque chose où le parent n'est pas tout à fait évident …

Existe-t-il un moyen d'énumérer les processus en format arbre ou quelque chose?

Ajoutez l'option l à votre ligne de commande ps. C'est l'option pour une sortie longue. L'identifiant de processus parent est l'une des colonnes supplémentaires – identifiées 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 d'arborescence ascii des processus. Vous voudrez probablement l'option -p pour afficher 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 "forêt" 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 cela n'indique pas la procédure que vous recherchez, essayez spécifier explicitement votre nom d'utilisateur: ps f -U $USER ; Cela a tendance à montrer plus de processus que les ps simples.

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 de colonnes avec ps L

htop est également bon, surtout lorsque vous appuyez sur l sur un nom de processus qui affichera tous les fichiers ouverts, les tuyaux et les URL pour un processus (nécessite lsof )

Utilisez d'abord le top pour découvrir le processus pid du zombie. Ensuite, exécutez ps -elf ou ps -ef pour trouver le ppid du zombie.