如何在 Linux 中查找父进程 PPID

系统 Linux
每次执行程序时,内核都会创建一个与该程序关联的进程。简单的说,进程就是Linux中一个程序的运行实例。

内核创建的进程称为“父进程”。从父进程派生或产生的进程称为“子进程”。父进程可能由多个子进程组成,每个子进程都具有唯一的PID(进程 ID)但共享相同的 PPID。

在本指南中,我们探讨了可用于查找 Linux 系统上的父进程 ID (PPID) 或进程的各种方法。

PID 和 PPID 有什么区别?

加载到内存中并运行的程序称为进程。一旦启动,进程将获得一个唯一编号,称为进程 ID ( PID ),在系统中唯一标识它。可以随时使用其PID引用该进程。例如,要终止一个进程,您必须先知道它的PID。

除了PID之外,每个进程还被分配了一个父进程ID ( PPID ),显示是哪个进程生成了它。因此,PPID是进程父进程的PID。

为了说明这一点,我们假设PID为5050的进程5启动进程6。进程 6 将被分配一个唯一的PID,例如6670,但仍将被分配PPID 5050。

这里的父进程是进程5,子进程是6。子进程被分配了一个唯一的PID但PPID与父进程的 PID 相同(进程 5)

单个父进程可以启动多个子进程,每个子进程都有唯一的 PID 但都共享相同的PPID。

在 Linux 中查找父进程 ID (PPID)

在 Linux 系统上查找正在运行的进程的PPID有两种主要方法:

  • 使用 pstree 命令。
  • 使用 ps 命令。

使用 pstree 命令查找 Linux 进程 PPID

pstree命令是一种命令行工具,它以树的形式显示正在运行的进程,这使得在层次结构中显示进程成为一种方便的方式。它以树状层次结构显示父子关系。

通过该 -p选项,pstree显示所有正在运行的父进程及其相应的子进程和各自的 PID。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
pstree -p

在树层次结构中显示 Linux 正在运行的进程

从输出中,我们可以看到父进程 ID 和子进程 ID。

为了演示,我们将使用以下命令检查 Mozilla Firefox 的 PPID 以及整个进程层次结构:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
pstree -p | grep 'firefox'

查找 Linux 进程的 PPID

从输出中可以看出 Firefox 的PPID 为 21401,其余为子进程的PID。

要仅显示 Firefox 的PPID并跳过其余输出,请将输出通过管道传递给 head 命令以-1显示第一行。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
pstree -p | grep 'firefox' | head -1

打印 Linux 进程的 PPID

使用 ps 命令查找 Linux 进程 PPID

查找进程PPID的另一个选项是 ps 命令,这是一个广泛使用的命令,用于显示Linux 系统上当前正在运行的进程。

当与该-ef选项一起使用时,ps 命令会列出所有正在运行的进程及其详细信息,例如UID、PID、PPID等。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
ps -ef

使用 PID 列出正在运行的 Linux 进程

要缩小范围并显示特定进程的PPID,例如Firefox,请传递-e​选项并将输出通过管道传递给 grep 命令,如图所示:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                      
ps -e | grep 'firefox'
21401 ? 00:00:11 firefox

查找 Linux 进程 PID

再一次,从输出中,您可以看到 Firefox 的 PPID 是 21401。

在本指南中,我们演示了如何在 Linux 系统上找到运行的进程的 PPID。您可以使用 pstree 命令或 ps 命令来达到相同的目标。

责任编辑:赵宁宁 来源: Linux迷
相关推荐

2016-12-07 17:45:44

Linux文件

2023-02-07 08:13:47

Linux符号链接

2020-05-15 07:00:00

Linux硬盘信息

2019-12-16 10:43:38

Linux内存消耗进程

2018-06-05 08:51:04

Linux结束进程中止程序

2019-07-07 08:36:31

Linux命令端口号

2018-03-30 17:51:17

Linux命令查找文件

2022-10-14 19:30:29

Linux

2010-02-25 10:28:43

Linux进程管理

2022-04-06 06:35:58

进程命令CPU

2018-10-08 08:20:25

Linux进程端口号

2019-11-06 15:58:54

Linux内存消耗进程

2019-12-16 09:10:38

Linux中央处理器进程

2019-12-16 11:00:04

LinuxCPU进程

2024-11-14 10:00:00

Python继承

2023-03-05 16:40:07

linux进程内存

2011-01-26 13:26:32

Linux进程

2023-09-06 17:06:51

LinuxVxVMSAN LUN

2023-01-31 16:54:47

Linux端口

2018-12-12 10:10:08

Windows10Windows密钥
点赞
收藏

51CTO技术栈公众号