插件窝 干货文章 linux系统查看进程命令

linux系统查看进程命令

进程 查看 bash 占用 698    来源:    2025-04-05

在Linux系统中,查看进程的常用命令如下,按场景分类整理:


1. 基础查看进程

  • ps(Process Status)

    ps aux       # 查看所有用户的所有进程(BSD风格)
    ps -ef       # 查看所有进程(标准UNIX风格)
    ps -u [用户]  # 查看指定用户的进程
    

    输出列说明
    USER(用户)、PID(进程ID)、%CPU(CPU占用)、%MEM(内存占用)、COMMAND(命令)

  • top(动态实时查看)

    top          # 动态显示进程(按CPU排序,默认3秒刷新)
    top -p [PID] # 监控指定PID
    

    交互命令
    M(按内存排序)、P(按CPU排序)、q(退出)

  • htop(增强版top,需安装)

    htop         # 彩色界面,支持鼠标操作
    

2. 筛选/搜索进程

  • 按名称搜索

    pgrep [进程名]      # 返回匹配的PID(如 `pgrep nginx`)
    pidof [进程名]       # 直接返回PID(仅限精确匹配)
    ps aux | grep [关键词] # 模糊搜索(如 `ps aux | grep python`)
    
  • 按端口查进程

    lsof -i :[端口号]    # 查看占用端口的进程(如 `lsof -i :80`)
    netstat -tulnp | grep [端口号] # 需root权限
    

3. 查看进程详情

  • 进程树关系

    pstree -p    # 显示进程树(包含PID)
    pstree [用户] # 查看指定用户的进程树
    
  • 进程资源占用

    pmap [PID]    # 查看进程的内存映射
    cat /proc/[PID]/status # 查看进程详细信息(如内存、状态)
    

4. 高级工具

  • systemctl(Systemd服务管理)

    systemctl status [服务名] # 查看服务状态(如 `systemctl status nginx`)
    
  • strace(跟踪系统调用)

    strace -p [PID] # 跟踪进程的系统调用(调试用)
    

5. 终止进程

kill -9 [PID]      # 强制终止进程
pkill [进程名]      # 按名称终止进程
killall [进程名]    # 终止所有同名进程

常用组合示例

# 查看Java进程并计算数量
ps -ef | grep java | grep -v grep | wc -l

# 查看占用CPU最高的前10个进程
ps aux --sort=-%cpu | head -n 10

根据需求选择命令,ps适合静态快照,top/htop适合动态监控,grep/pgrep用于快速过滤。