50 votes

Comment trouver le processus parent d'un processus zombie ?

Comment trouver le processus parent des processus zombies ?

Lorsque le processus de l'enfant est quelque chose dont le parent n'est pas tout à fait évident...

Existe-t-il un moyen de lister les processus sous forme d'arbre ou autre ?

62voto

Keith Sirmons Points 2558

Ajouter le l à votre ligne de commande ps. Il s'agit de l'option permettant d'obtenir une sortie longue. L'identifiant du processus parent est l'une des colonnes supplémentaires -- étiqueté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 le pstree pour afficher une représentation arborescente ascii des processus. Vous voudrez probablement utiliser la commande -p pour afficher les identifiants des 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)

14voto

RobM Points 635

A TITRE D'INFORMATION, ps dispose d'un mode "forêt" qui affiche 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 usernamer@example.com
 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'affiche pas le processus que vous recherchez, essayez de spécifier votre nom d'utilisateur de manière explicite : ps f -U $USER ; cela tend à montrer plus de processus que les simples ps .

Personnellement, j'utilise ps fo pid,cmd ou pour obtenir une vue de la forêt avec mon choix de colonnes ( pid,cmd dans ce cas). Vous pouvez obtenir une liste complète des colonnes avec ps L .

1voto

Federico Points 300

htop est également bon, surtout lorsqu'il s'agit d'appuyer sur l sur le nom d'un processus qui affichera tous les fichiers, tuyaux et urls ouverts pour un processus (nécessite lsof )

-1voto

Rajesh Swain Points 1

Première utilisation top pour connaître les pid du processus des zombies. Exécutez ensuite ps -elf o ps -ef pour trouver le ppid du zombie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X