龙空技术网

如何在 Linux 中查找父进程 PPID

景德镇妙笔 322

前言:

目前看官们对“java获取进程子pid pstree”大概比较讲究,同学们都需要剖析一些“java获取进程子pid pstree”的相关文章。那么小编在网上搜集了一些关于“java获取进程子pid pstree””的相关资讯,希望你们能喜欢,姐妹们一起来学习一下吧!

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

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

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

PID和PPID有什么区别?

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

除了 PID 之外,还为每个进程分配一个父进程 IDPPID),用于显示生成该进程的进程。因此,PPID 是进程父级的 PID

为了将其置于上下文中,让我们假设 PID5 的进程 5050 启动进程 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 命令是一种命令行工具,可将正在运行的进程显示为树,从而可以方便地在层次结构中显示进程。它显示树层次结构中的父子关系。

使用该选项,pstree 将显示所有正在运行的父进程及其相应的子进程和相应的 PID。 -p

$ pstree -p

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

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

$ pstree -p | grep 'firefox'

查找 Linux 进程的 PPID

从输出中,您可以看到 FirefoxPPID3457,其余都是子进程的 PID

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

$ pstree -p | grep 'firefox' | head -1

打印 Linux 进程的 PPID

使用 ps 命令查找 Linux 进程 PPID

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

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

$ ps -ef

列出使用 PID 运行的 Linux 进程

要缩小范围并显示特定进程(例如 Firefox)的 PPID,请传递该选项并将输出通过管道传输到 grep 命令,如下所示。-e

$ ps -e | grep 'firefox'

查找 Linux 进程 PID

再一次,从输出中,您可以看到FirefoxPPID3457

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

标签: #java获取进程子pid pstree