插件窝 干货文章 linux根据进程id查看进程

linux根据进程id查看进程

进程 PID 查看 bash 186    来源:    2025-04-05

在 Linux 系统中,可以通过以下几种方式根据进程 ID (PID) 查看进程的详细信息:


1. 使用 ps 命令

ps -p <PID> -o pid,ppid,cmd,%cpu,%mem,user,stat
  • 参数说明
    • -p <PID>:指定目标进程 ID。
    • -o:自定义输出字段(例如 pidcmd%cpu 等)。
  • 示例bash ps -p 1234 -o pid,cmd,%mem

2. 使用 top 命令(动态查看)

top -p <PID>
  • 会实时显示指定进程的资源占用(CPU、内存等),按 q 退出。

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

htop
  • htop 界面中,按 F3 搜索进程名或直接滚动查找 PID。

4. 查看进程的详细信息(/proc 文件系统)

ls -l /proc/<PID>/
cat /proc/<PID>/status    # 进程状态
cat /proc/<PID>/cmdline   # 启动命令
cat /proc/<PID>/environ   # 环境变量
  • /proc/<PID>/ 目录包含进程的所有运行时信息。

5. 查看进程打开的文件(lsof

lsof -p <PID>
  • 显示该进程打开的所有文件、网络连接等。

6. 查看进程树关系(pstree

pstree -p <PID>  # 显示进程及其子进程的树状结构

7. 查看进程的完整命令行

cat /proc/<PID>/cmdline | tr '\0' ' '  # 将空字符替换为空格

常见问题排查

  • 如果进程不存在
    bash ps -p <PID> # 无输出则说明 PID 无效或进程已退出
  • 查看进程的父进程
    bash ps -o ppid= -p <PID> # 直接显示父进程 PID

总结

  • 快速查看ps -p <PID>
  • 动态监控top -p <PID>
  • 深度分析/proc/<PID>/ 目录
  • 文件/网络lsof -p <PID>

根据需求选择合适的方法即可。