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>
ps -l
嗯,我对处理僵尸网络还不熟悉。但我难道不应该根据??中显示的 PPID 来查找 PPID 吗?
哪一个是僵尸的父母?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
因此,mogod 似乎是父级。我说得对吗?
答案1
确定流程之间关系的最佳工具是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)
答案2
将父 ID (PPID) 与 PID 进行匹配
答案3
僵尸进程的进程 ID 是 1130,它没有出现在您打印的输出中。
PID = Process ID
PPID = Parent Process ID