选项
与
参数
:
-
A
:各
½
程
树
之
间
的
连
½以
ASCII
字符
来连
½;
-
U
:各
½
程
树
之
间
的
连
½以万
国码
的字符
来连
½。在某些
终
端½口下可能
会
有
错误
;
-
p
:并同
时
列出每
个
process
的
PID
;
-
u
:并同
时
列出每
个
process
的所
属账号
名
称
。
范例一:列出目前系
统
上面所有的
½
程
树
的相
关
性:
[root@study ~]#
pstree
-
A
systemd
-
+
-
ModemManager
---
2*[{ModemManager}]
#
这
行是
ModenManager
与其子
½
程
|
-
NetworkManager
---
3*[{NetworkManager}]
#
前面有
数
字,代表子
½
程的
数
量!
....(
中
间
省略
)....
|
-
sshd
---
sshd
---
sshd
---
bash
---
bash
---
sudo
---
su
---
bash
---
pstree
<==
我
们
指令
执
行的相依性
....(
底下省略
)....
#
注意一下,
为
了
½
省版面,所以
鸟
哥已
经删
去很多
½
程了!
范例二:承上
题
,同
时
秀出
PID
与
users
[root@study ~]#
pstree
-
Aup
systemd(1)
-
+
-
ModemManager(745)
-
+
-
{ModemManager}(785)
| `
-
{ModemManager}(790)
|
-
NetworkManager(870)
-
+
-
{NetworkManager}(907)
| |
-
{NetworkManager}(911)
| `
-
{NetworkManager}(914)
....(
中
间
省略
)....
|
-
sshd(1326)
---
sshd(13923)
---
sshd(13927,
dmtsai
)
---
bash(13928)
---
bash(13970)
---
....(
底下省略
)....
#
在括
号
()
内
的即是
PID
以及
该½
程的
owner
喔!一般
来说
,如果
该½
程的所有人与父
½
程同,
#
就不
会
列出,但是如果与父
½
程不一
样
,那就
会
列出
该½
程的
拥
有者!看上面
13927
就
转变
成
dmtsai
了
如果要找½程之间的相关性,这个
pstree
真是好用到不行!直½输入
pstree
可以查到½程相关性,
如上表所示,还会使用线段½相关性½程连½起来哩!
一般链½符号可以使用
ASCII
码即可,但
有时因为语系问题会主动的以
Unicode
的符号来链½,
但因为可能终端机无法支持该编码,或许会
造成乱码问题。因此可以加上
-A
选项来克服此类线段乱码问题。
由
pstree
的输出我们也可以很清楚的知道,
所有的½程都是依附在
systemd
这支½程底下的!
仔
细看一下,这支½程的
PID
是一号喔!因为他是由
Linux
核心所主动呼½的第一支程序!所以
PID
就是一号了
。
这也是我们刚刚提到
½尸½程
时有提到,为啥发生½尸½程需要重新启动?
因为
systemd
要重新启动,而重新启动
systemd
就是
reboot
啰!
如果还想要知道
PID
与所属使用者,加上
-u
及
-p
两个参数即可。我们前面不是一直提到,
如果
子½程挂点或者是老是砍不掉子½程时,该如何找到父½程吗?呵呵!用这个
pstree
就对了!
^_^