只显示一个进程子树

我想列出一个单一过程及其现在的孩子。 所以,给出以下的stream程树:

想象下面的过程列表:

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... 

我想反而只是显示过程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 

有一个简单的方法来做到这一点?

你可以使用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) 
 $ ps -p 1426 --ppid 1426 --forest 

要么:

 $ ps -eo pid,ppid,tty,stat,time,command --forest | awk '$1 == 1426 || $2 == 1426' 

显示详细信息命令。