admin@dummy$ ps -l FS 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' FS 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 PP-ID ??
哪一个是僵尸的父母? 这是僵尸父母吗? 谢谢。
更新
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
所以它似乎是mogod这是父母。 我对么?
确定进程之间关系的最佳工具是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)
将父ID(PPID)与PID匹配
你的僵尸进程的进程ID是1130,它不会出现在你打印的输出中。
PID = Process ID PPID = Parent Process ID