Linux父进程怎么查?多种方法详解

使用 pstree 命令(推荐)

作用:以树形结构直观展示进程关系,直接显示父进程和子进程的层级。
命令示例

pstree -p <进程PID>  # 查看指定进程的父子关系
pstree -s <进程PID>  # 高亮显示指定进程及其父进程

输出示例

systemd(1)───sshd(1234)───bash(5678)───vim(9012)
  • systemd(1) 是根进程(所有进程的最终父进程)。
  • vim(9012) 的父进程是 bash(5678)

常用选项

  • -p:显示进程PID。
  • -s:显示指定进程的祖先(父进程链)。

使用 ps 命令

作用:通过进程PID查询其父进程的PID(PPID)。
命令示例

ps -o ppid= -p <进程PID>  # 直接返回父进程PID
ps -ef | grep <进程名>     # 查看完整进程信息(含PPID)

输出示例

$ ps -o ppid= -p 9012
5678  # 父进程PID为5678

进阶用法:同时显示进程名和父进程名

ps -p <PID> -o comm=,ppid= 

查看 /proc 虚拟文件系统

原理:Linux在 /proc/<PID>/ 目录下存储进程的实时信息。
操作步骤

cat /proc/<进程PID>/status | grep PPid  # 直接提取父进程PID
cat /proc/<进程PID>/stat                 # 查看第四字段(父进程PID)

输出示例

$ cat /proc/9012/status | grep PPid
PPid:   5678  # 父进程PID

使用 htop 工具(交互式查看)

作用:图形化工具,动态显示进程树和资源占用。
步骤

  1. 安装:sudo apt install htop(Debian/Ubuntu)或 sudo yum install htop(CentOS)。
  2. 运行 htop,按 F5 切换树形视图。
  3. 使用方向键展开进程层级,直接查看父子关系。

通过 systemd-cgls(针对 systemd 系统)

适用场景:使用 systemd 初始化进程的系统(现代Linux发行版)。
命令

systemd-cgls  # 以树形结构显示所有控制组(含进程关系)

关键概念解析

  • PPID (Parent Process ID):父进程的唯一标识符。
  • 孤儿进程:父进程终止后,子进程会被 init/systemd(PID=1)接管。
  • 僵尸进程:子进程退出后,父进程未回收其资源,可通过父进程PID定位问题。

总结建议

  • 快速查看:用 pstreeps -o ppid= -p <PID>
  • 深度分析:结合 /proc 文件系统和 htop 动态监控。
  • 脚本处理:在自动化脚本中解析 /proc/<PID>/statusps 输出。

注意:操作需管理员权限时,请使用 sudo,避免随意终止父进程,可能导致子进程连锁退出。


引用说明: 基于 Linux 内核文档(kernel.org)及 man 手册(man psman pstree),实践环境为 Ubuntu 22.04 和 CentOS 9,方法通用主流 Linux 发行版。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9615.html

(0)
酷番叔酷番叔
上一篇 4天前
下一篇 4天前

相关推荐

  • Linux安装MySQL后初始密码如何查看?

    通过日志文件查找初始密码(推荐)MySQL 5.7及以上版本在安装时会自动生成临时密码,并记录在日志文件中,操作步骤:打开日志文件Ubuntu/Debian系统: sudo cat /var/log/mysqld.log # 通用路径或sudo cat /var/log/mysql/error.log # 部分……

    2025年6月24日
    2000
  • 如何在命令行中快速保存?

    在命令行界面中保存操作通常使用save或write命令(具体命令因系统而异,如思科设备常用copy running-config startup-config),将当前运行配置或更改永久写入存储设备(如闪存),确保设备重启后配置不丢失。

    2025年7月5日
    2400
  • Linux如何挂载光盘?

    准备工作确认光盘设备标识插入光盘后,打开终端执行:lsblk输出示例:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk└─sda1 8:1 0 100G 0 part /sr0 11:0 1 1024M 0 rom # 此为光盘设备(通常为……

    1天前
    500
  • 如何安全安装Linux测试版内核?,dnf安装测试内核?新手必看指南,升级内核,sudo dnf install kernel-test详解,想尝鲜Linux测试内核?这条命令搞定

    在Linux系统中安装内核包是系统维护和升级的关键操作,常用于修复安全漏洞、支持新硬件或优化性能,以下为详细指南,涵盖主流发行版的安装方法及注意事项,操作前请务必备份重要数据,安装前的准备工作检查当前内核版本终端执行: uname -r # 示例输出:5.15.0-86-generic备份数据使用 rsync……

    2025年6月20日
    2100
  • Linux为何推荐符号链接?

    为什么需要目录链接?目录链接类似于Windows的快捷方式,用于:跨路径访问:快速进入深层次目录(如链接/var/log到主目录),路径简化:将复杂路径映射为简单路径(如/mnt/data/project → ~/project),版本切换:动态切换不同版本的软件目录(如/opt/python-3.11 链接为……

    2025年6月21日
    2200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信