tyl*_*erl 5 linux command-line-interface
我想显示单个进程及其当前子进程的列表。因此,给定以下进程树:
想象一下以下流程清单:
PID TTY STAT TIME COMMAND
2 ? S 0:00 [kthreadd]
3 ? S 0:06 \_ [ksoftirqd/0]
...snip...
1292 ? Ss 0:06 /usr/sbin/gpm -m /dev/input/mice -t exps2
1426 ? Ss 0:00 /usr/lib/postfix/master
9785 ? S 0:00 \_ qmgr -l -t fifo -u
12301 ? S 0:00 \_ pickup -l -t fifo -u -c
1545 ? Ss 0:05 /usr/sbin/apache2 -k start
1570 ? S 0:00 \_ /usr/sbin/apache2 -k start
...snip...
Run Code Online (Sandbox Code Playgroud)
我只想显示进程 1426 及其子进程。像这样:
PID TTY STAT TIME COMMAND
1426 ? Ss 0:00 /usr/lib/postfix/master
9785 ? S 0:00 \_ qmgr -l -t fifo -u
12301 ? S 0:00 \_ pickup -l -t fifo -u -c
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点?
您可以使用pstree来执行此操作并获得格式良好的输出
pstree -p 22221
mysqld_safe(22221)???logger(22334)
??mysqld(22332)???{mysqld}(22335)
??{mysqld}(22336)
??{mysqld}(22337)
??{mysqld}(22338)
??{mysqld}(22340)
??{mysqld}(22341)
??{mysqld}(22342)
??{mysqld}(22343)
??{mysqld}(22346)
??{mysqld}(22394)
Run Code Online (Sandbox Code Playgroud)
$ ps -p 1426 --ppid 1426 --forest
Run Code Online (Sandbox Code Playgroud)
或者:
$ ps -eo pid,ppid,tty,stat,time,command --forest | awk '$1 == 1426 || $2 == 1426'
Run Code Online (Sandbox Code Playgroud)
显示详细信息命令。
| 归档时间: |
|
| 查看次数: |
3501 次 |
| 最近记录: |