Linux 进程控制与硬件信息查询
1. 进程树
在 Linux 系统中,从 shell 启动的所有命令都会成为该 shell 进程的子进程。而 shell 本身也是一个子进程,在 Linux 桌面环境中,它是终端模拟器的子进程;通过 SSH 远程连接时,它是 OpenSSH 守护进程的子进程。
实际上,所有进程都有一个共同的父进程,所有正在运行的进程关系构成一个以单一根节点(PID = 1)为根的树状结构。出于历史原因,这个所有进程的父进程通常被称为 init 进程。在通用 Linux 发行版中,长期以来该进程是 System V init,但现在大多数现代发行版使用 systemd,也有一些选择了其他替代方案,如 OpenRC。
init 进程是唯一由内核直接启动的进程,其他所有进程都由 init 进程启动,包括登录管理器、SSH 守护进程、Web 服务器、数据库系统等。可以使用 pstree 命令查看完整的进程树,示例如下:
$ pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─2*[agetty]
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-broker-lau───dbus-broker
├─do-agent───5*[{do-agent}]
├─droplet-agent───8*[{droplet-agent}]
├─nginx───nginx
├─sshd───
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



