首页 > 系统相关 >在 Linux 中如何查找父进程 PPID?

在 Linux 中如何查找父进程 PPID?

时间:2023-03-12 23:13:19浏览次数:48  
标签:PID 查找 Linux 进程 PPID pstree linuxmi

导读 内核创建的进程称为“父进程”。从父进程派生或产生的进程称为“子进程”。父进程可能由多个子进程组成,每个子进程都具有唯一的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 命令查找 Linux 进程 PPID

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

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

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

在 Linux 中如何查找父进程 PPID?在 Linux 中如何查找父进程 PPID?

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

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

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

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

在 Linux 中如何查找父进程 PPID?在 Linux 中如何查找父进程 PPID?

查找 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?在 Linux 中如何查找父进程 PPID?

打印 Linux 进程的 PPID

使用 ps 命令查找 Linux 进程 PPID

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

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

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

在 Linux 中如何查找父进程 PPID?在 Linux 中如何查找父进程 PPID?

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

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

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

在 Linux 中如何查找父进程 PPID?在 Linux 中如何查找父进程 PPID?

查找 Linux 进程 PID

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

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

标签:PID,查找,Linux,进程,PPID,pstree,linuxmi
From: https://www.cnblogs.com/linuxprobe19/p/17155428.html

相关文章

  • 【linux】使用 Xshell 上传本地文件到服务器
    需求:上传本地文件到服务器,常见的作法是通过ssh上传,但是我们有了Xshell后可以简化操作。 操作步骤:1.打开Xshell,连接好自己的服务器2.选择要存储的服务器......
  • Linux提权-权限升级
    Linux提权-权限升级 特权升级是一段旅程。没有灵丹妙药,很大程度上取决于目标系统的具体配置。内核版本、已安装的应用程序、支持的编程语言、其他用户的密码是影响您......
  • 总结linux安全模型
    1.总结linux安全模型①用户登录系统时必须提供用户名和密码。②使用用户和用户组来控制使用者访问文件和其他资源的权限。③系统上的每一个文件都一定属于一个用户(一般......
  • Linux驱动开发-编译的第一个字符设备驱动
    1.首先需要准备并编译linuxkernal源码编写make脚本build.sh,执行build 2.在vscod中准备kernal路径#include<linux/module.h>staticint__initaaaainit(void)......
  • [Linux环境变成]Linux设置子进程环境变量
    posix_spawn通过一个指定的可执行文件创建子进程,并设置其启动参数和环境变量。其原型如下:#include<spawn.h>//pid:子进程的进程号//path:创建子进程的可执行文件路径......
  • Linux用户以及ssh安全相关设置
    Linux用户相关操作摘要最近重保,需要进行网络安全防护.部分同事处理过程总是顺序有一些不太对的情况.同时发现自对Linux用户设置也存在很多不清不楚的地方所以趁着......
  • 在Linux中如何注销其他 SSH 用户
    如果你通过ssh登录了一个远程Linux系统,只需要使用exit 命令即可退出ssh。那么,如果你想要注销其他通过ssh登录到系统中的用户呢?在ssh会话中注销用户首先,检查L......
  • LeeCode例题——二分查找
    1.二分查找:(面对一个升序排列的数组)classSoulution{public:intsearch(vector<int>&nums,inttarget){//函数名(数组,变量)intleft=0,right=nums.size()-......
  • init 和 systemd:Linux守护进程
    现代Linux都采用systemd来作为守护进程,例如在Ubuntu18.04上它们都指向同一个systemd,$ll/sbin/init/sbin/init->/lib/systemd/systemd*$ll/bin/systemd/......
  • Linux基础之less命令实战
    1less命令的介绍less命令的功能是用于分页显示文件内容。分页显示的功能与more命令很相像。但more命令只能从前向后浏览文件内容,而less命令则不仅能从前向后(PageDown键),还可......