当前位置:首页 > Linux > 正文

linux 如何看进程

Linux中,查看进程可使用ps、top、htop等命令,ps aux显示所有进程详细信息,top实时查看进程资源占用情况

Linux系统中,查看进程是日常管理和故障排查的重要操作,以下是几种常用的方法及其详细说明:

ps命令:基础与灵活的进程查看工具

ps命令是最基础的进程查看工具,通过不同的参数组合可以获取丰富的进程信息。

常用参数 功能描述 示例命令
ps 显示当前终端下的进程 ps
-e 显示所有进程(包括其他用户) ps -e
-f 显示完整格式(包含父进程ID) ps -ef
-u 按用户筛选进程 ps -u root
-aux 显示所有进程的详细信息(用户、CPU、内存等) ps -aux

字段解析(以ps -aux为例):

  • USER: 进程所有者
  • PID: 进程ID
  • %CPU: CPU占用率
  • %MEM: 内存占用率
  • VSZ: 虚拟内存大小
  • RSS: 物理内存占用
  • TTY: 终端类型(表示无终端)
  • STAT: 进程状态(如R运行、S睡眠、Z僵尸)
  • START: 启动时间
  • TIME: 累计CPU时间
  • COMMAND: 启动命令

top命令:实时动态监控

top命令以动态更新的方式显示进程资源占用情况,默认每3秒刷新一次。

关键信息

  • Tasks: 总进程数、运行/休眠/停止/僵尸进程数
  • CPU使用: 用户态(us)、系统态(sy)、空闲(id)等占比
  • 内存和交换空间: 总内存、已用/空闲内存及交换区
  • 进程列表: PID、用户、CPU%、内存%、状态、启动时间、命令

交互操作

linux 如何看进程  第1张

  • q: 退出
  • h: 显示帮助
  • k: 终止进程(需输入PID)
  • r: 调整进程优先级(RENICE
  • P: 按CPU或内存排序

htop与btop:增强版可视化工具

htopbtoptop的升级版本,提供更友好的界面和交互功能。

特性 htop btop
彩色高亮 支持 支持
垂直/水平滚动 支持 支持
树状视图 支持 部分支持
自定义列 支持 支持
进程搜索 支持 支持

安装示例

# Debian/Ubuntu
sudo apt install htop
# CentOS/RHEL
sudo yum install htop

pstree:进程树状结构

pstree以树形结构展示进程间的父子关系,适合分析进程派生逻辑。

常用参数

  • -p: 显示进程ID
  • -u: 显示用户名
  • -a: 显示完整命令行

示例输出

init─┬─apache2
     ├─sshd
     └─{nginx}
         ├─www-data
         └─root

pgrep与pkill:按名称过滤进程

  • pgrep: 根据进程名获取PID
    pgrep -f "python"  # 模糊匹配命令行包含python的进程
  • pkill: 根据名称终止进程
    pkill -9 my_process  # 强制终止指定进程

/proc文件系统:深入进程细节

每个进程在/proc目录下有一个同名子目录(如/proc/1234),包含以下关键文件:

  • status: 进程状态(如内存、CPU使用)
  • cmdline: 启动命令行参数
  • fd/: 文件描述符列表
  • maps: 内存映射信息

示例

cat /proc/$(pgrep nginx)/status  # 查看nginx进程状态

systemctl与service:管理系统服务

针对系统服务(如nginxssh),可通过以下命令查看状态:

systemctl status nginx      # systemd系统
service ssh status          # 老式init系统

FAQs

如何终止一个顽固的进程?
若普通kill无效,可尝试:

kill -9 PID  # 强制终止

或使用pkill

pkill -9 -f "process_name"

ps auxps -ef有什么区别?

  • ps aux:以用户为中心,显示所有用户的进程,包含终端信息(TTY)。
  • ps -ef:以完整格式显示,包含父进程ID(PPID)和启动时间
0