admin@dummy$ ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 22156 22155 0 80 0 - 1545 wait pts/0 00:00:00 bash
0 S 1000 22997 1 0 80 0 - 4743 poll_s pts/0 00:00:15 python
1 S 1000 23000 22997 0 80 0 - 11514 poll_s pts/0 00:00:01 python
0 R 1000 30567 22156 0 80 0 - 625 - pts/0 00:00:00 ps
admin@dummy$ ps -el | grep 'Z'
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 Z 1000 21187 1130 0 80 0 - 0 exit ? 00:00:00 sh <defunct>
Хммм, я новичок в борьбе с зомби. Но разве я не должен искать PPID по PPID, отображаемому в ps -l
??
Кто из них родитель зомби? Это bash
это родитель-зомби? Спасибо.
Обновить
dummy:~$ pstree --
init─┬─apache2───5*[apache2]
├─atd
├─condor_master─┬─condor_collecto
│ ├─condor_negotiat
│ └─condor_schedd───condor_procd
├─console-kit-dae───63*[{console-kit-da}]
├─cron
├─daemon───java───22*[{java}]
├─dbus-daemon
├─dhclient3
├─6*[getty]
├─java───20*[{java}]
├─mysqld───11*[{mysqld}]
├─nginx───4*[nginx]
├─portmap
├─postgres───4*[postgres]
├─python
├─2*[python───python]
├─rpc.statd
├─rsyslogd───3*[{rsyslogd}]
├─sh───mongod───6*[{mongod}]
├─slapd───5*[{slapd}]
├─sshd─┬─sshd───sshd───bash───vim
│ ├─sshd───sshd───bash───python
│ ├─sshd───sshd───bash
│ └─sshd───sshd───bash───pstree
├─udevd───2*[udevd]
└─upstart-udev-br
Так что похоже, что это могод - родитель. Я прав?
Лучший инструмент для определения взаимосвязи между процессами - это pstree - отображать дерево процессов
Например: - пример вывода pstree
├─mysqld_safe(2040)───mysqld(2129)─┬─{mysqld}(2131)
│ ├─{mysqld}(2132)
│ ├─{mysqld}(2133)
│ ├─{mysqld}(2134)
│ ├─{mysqld}(2136)
│ ├─{mysqld}(2137)
│ ├─{mysqld}(2138)
│ ├─{mysqld}(2139)
│ └─{mysqld}(2140)
├─named(21549)─┬─{named}(21550)
│ ├─{named}(21551)
│ ├─{named}(21552)
│ ├─{named}(21553)
│ ├─{named}(21554)
│ └─{named}(21555)
Сопоставьте родительский идентификатор (PPID) с PID
Идентификатор процесса вашего зомби-процесса - 1130, который не отображается в выводе, который вы распечатали.
PID = Process ID
PPID = Parent Process ID