Câu trả lời:
Thêm l
tùy chọn vào dòng lệnh ps của bạn. Đây là tùy chọn cho đầu ra dài. Id tiến trình cha là một trong những cột bổ sung - có nhãn 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
Một tùy chọn khác là lệnh pstree để hiển thị biểu diễn cây ascii của các tiến trình. Bạn có thể muốn -p
tùy chọn hiển thị id quá trình.
$ 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
có chế độ "rừng" hiển thị nhiều cây:
# 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
Nếu điều đó không hiển thị quá trình bạn đang tìm kiếm, hãy thử chỉ định rõ tên người dùng của bạn : ps f -U $USER
; điều này có xu hướng hiển thị nhiều quá trình hơn cũ ps
.
Cá nhân tôi sử dụng ps fo pid,cmd
hoặc để có được chế độ xem rừng với lựa chọn cột của mình ( pid,cmd
trong trường hợp này). Bạn có thể nhận được một danh sách đầy đủ các cột với ps L
.
Đầu tiên sử dụng top
để tìm hiểu pid
quá trình zombie. Sau đó chạy ps -elf
hoặc ps -ef
để tìm ppid
zombie.
pstree -p harris
,pstree -p $USER
sẽ truyền đạt cùng một ý nghĩa, và làm việc nguyên văn.