📅  最后修改于: 2023-12-03 15:26:41.352000             🧑  作者: Mango
在Linux系统中,有时候需要查看当前正在运行的进程以及它们的父进程、子进程之间的关系。这时候,我们可以使用ps
命令来查看进程,但是只能得到一些基本信息,无法了解进程之间的关系。此时就需要使用树进程
命令。本文将介绍在Linux系统中如何使用树进程
命令。
树进程
是 Linux 系统中一个可以列出进程之间关系的命令。它通过递归地查找进程的父进程和子进程,从而生成一个可视化的进程树。
在大多数Linux系统中,树进程
命令已经默认安装。如果没有安装,可以通过下面的命令安装:
sudo apt-get install tree
在终端中输入下面的命令:
pstree
该命令将输出当前所有进程的树状结构,其中每个进程都显示它的进程 ID(PID)、名称、父进程的 PID 等信息。下面是一些常用的参数:
-p
: 显示进程的 PID。-u
: 显示进程的用户名和启动时间。-n
: 不显示进程名称。下面是一个简单的示例:
$ pstree -p -u
systemd(1)─┬─apport(1221)─┬─{apport}(1224)
│ ├─{apport}(1225)
│ ├─{apport}(1226)
│ ├─{apport}(1227)
│ ├─{apport}(1228)
│ └─{apport}(1229)
├─cron(902)───cron(24840)
├─dbus-daemon(1123)
├─dnsmasq(842)
├─getty(2833)
├─getty(2834)
├─getty(2835)
├─getty(2836)
├─getty(2837)
├─NetworkManager(1126)
├─rsyslogd(1149)─┬─{rsyslogd}(1162)
│ ├─{rsyslogd}(1163)
│ ├─{rsyslogd}(1164)
│ └─{rsyslogd}(1165)
├─snapd(1204)─┬─snapd(1275)
│ ├─{snapd}(1205)
│ ├─{snapd}(1206)
│ ├─{snapd}(1207)
│ ├─{snapd}(1208)
│ ├─{snapd}(1209)
│ ├─{snapd}(1210)
│ ├─{snapd}(1211)
│ ├─{snapd}(1212)
│ └─{snapd}(1274)
├─sshd(1968)───sshd(23648)───bash(23653)───pstree(24465)
├─thermald(1181)─┬─{thermald}(1622)
│ ├──{thermald}(1624)
│ └──{thermald}(1625)
├─udisksd(1698)─┬─{udisksd}(1749)
│ ├─{udisksd}(1750)
│ └─{udisksd}(1751)
├─upowerd(1581)─┬─{upowerd}(1608)
│ └─{upowerd}(1612)
该命令显示了当前进程树,我们可以清晰地看到它们之间的关系。
树进程
是 Linux 系统中一个可以列出进程之间关系的命令。通过递归地查找进程的父进程和子进程,它可以生成一个可视化的进程树。在命令行中输入 pstree
即可使用它。