Ubuntu 22.04 中查看指定进程 ID(PID)状态的五种方法

在 Ubuntu 22.04 中查看指定进程 ID(PID)为 3217 的状态,可以使用以下方法:

1. 使用 ps 命令(最常用)

bash 复制代码
ps -p 3217 -o pid,user,comm,state,start_time,time,cmd
  • 输出说明
    • STATE:进程状态代码(R=运行, S=睡眠, D=不可中断睡眠, Z=僵尸, T=停止等)
    • START:进程启动时间
    • TIME:累计 CPU 时间
    • CMD:完整命令行

2. 查看 /proc 文件系统(最详细)

bash 复制代码
cat /proc/3217/status

这将显示详细的进程信息,包括:

  • State:当前状态(R/S/D/Z/T)
  • PPid:父进程 ID
  • Uid/Gid:用户/组信息
  • 内存使用情况
  • 信号处理状态

3. 使用 top 命令(交互式查看)

bash 复制代码
top -p 3217
  • 实时显示进程的 CPU、内存使用情况
  • q 退出

4. 使用 htop(增强版 top)

bash 复制代码
htop -p 3217

(需先安装:sudo apt install htop

  • 彩色显示,更直观的进程树视图

5. 检查进程状态标志

bash 复制代码
ps -o pid,state,cmd -p 3217
  • 简洁显示进程状态代码:
    • R (running/runnable)
    • S (interruptible sleep)
    • D (uninterruptible sleep)
    • Z (zombie)
    • T (stopped)
    • t (tracing stop)
    • X (dead)

常见状态说明:

状态 含义
R 正在运行或可运行(在运行队列中)
S 可中断的睡眠(等待事件完成)
D 不可中断的睡眠(通常等待 I/O)
Z 僵尸进程(已终止但未被父进程回收)
T 已停止(通常由作业控制信号导致)

提示:如果进程不存在,所有命令都会返回错误提示 No such process

相关推荐
feng_you_ying_li19 小时前
Linux之线程同步:条件变量和两种生产消费模型
linux·运维·服务器
tianyuanwo19 小时前
OS运维智能化落地抉择:构建故障诊断AI Skill VS 沉淀领域知识库,谁是核心先手?
运维·人工智能·知识库·skill
拾贰_C19 小时前
【Ubuntu | VSCode | SSH | 远程连接 | Linux】VSCode 怎么实现ssh远程连接
linux·vscode·ubuntu
liulilittle19 小时前
用户态 TCP 端口转发:对 CUBIC 友好,对 BBR/KCC 收益不大
运维·网络·tcp/ip·计算机网络·信息与通信·tcp·通信
杨了个杨898219 小时前
HAproxy+Keepalive的简介及安装
运维·服务器
utf8mb4安全女神19 小时前
【shell函数】【shell脚本】定期自动检查服务器磁盘使用情况并发出告警
运维·服务器
ShineWinsu19 小时前
对于Linux:进程信号的解析—下
linux·运维·服务器·面试·笔试·进程·信号
Cx330❀20 小时前
【Linux网络】高性能 TCP 服务器:从多线程到线程池的架构演进与落地实践
linux·运维·服务器·网络·c++·tcp/ip·架构
Par@ish20 小时前
Ubuntu Apache日志存储周期变更
linux·ubuntu·apache
闲猫20 小时前
从0到1完整开发Smartshell最后沉淀出的Cursor开发规则
linux·运维·堡垒机·cursor·vibecoding