📌  相关文章
📜  树进程 linux commnad - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:41.352000             🧑  作者: Mango

树进程 linux commnad - Shell-Bash

在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 即可使用它。