插件窝 干货文章 linux怎么查看当前进程信息

linux怎么查看当前进程信息

进程 查看 显示 nginx 886    来源:    2025-04-05

在Linux系统中,查看当前进程信息有多种命令和方式,以下是常用的方法及详细说明:


1. ps 命令(最基础)

ps aux       # 查看所有用户的所有进程(BSD风格)
ps -ef       # 查看完整格式的所有进程(标准UNIX风格)
  • 常用参数
    • a:显示所有用户的进程。
    • u:显示进程的详细用户/资源占用(CPU、内存等)。
    • x:包括不关联终端的进程(如后台服务)。
    • -e:显示所有进程。
    • -f:显示完整格式(UID, PID, 父进程PPID等)。

示例输出

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 169316 13104 ?        Ss   May30   0:15 /sbin/init

2. tophtop(实时动态查看)

top          # 实时动态显示进程信息(按CPU排序,默认每3秒刷新)
htop         # 增强版top(需安装,支持颜色、鼠标操作等)
  • 功能
    • 显示CPU、内存占用、进程状态等。
    • top 中按 M 按内存排序,按 P 按CPU排序,按 q 退出。
    • htop 更直观,支持进程树视图(F5)。

3. pstree(以树形结构显示进程)

pstree -p    # 显示进程树,并包含PID
  • 用途:直观查看父子进程关系。

示例输出

systemd(1)─┬─sshd(1234)───sshd(5678)───bash(9012)
           ├─nginx(3456)───worker(7890)
           └─cron(1111)

4. pgreppkill(快速查找/操作进程)

pgrep -l nginx  # 查找名为"nginx"的进程并显示PID和名称
pkill nginx     # 终止所有名为"nginx"的进程

5. 查看特定进程的详细信息

cat /proc/[PID]/status   # 查看某个进程的详细状态(替换[PID])
lsof -p [PID]            # 查看进程打开的文件列表
  • 示例bash cat /proc/1234/status # 查看PID为1234的进程信息

6. 按条件过滤进程

ps aux | grep nginx      # 筛选包含"nginx"的进程
ps -eo pid,cmd --sort=-%mem | head  # 按内存占用排序显示前10进程

7. systemctl(管理系统服务进程)

systemctl status nginx   # 查看nginx服务的状态(包括主进程PID)

8. ssnetstat(查看网络相关进程)

ss -tulnp               # 显示监听端口的进程(需root权限)
netstat -tulnp          # 旧版命令(部分系统已弃用)

总结:

  • 快速查看所有进程ps auxps -ef
  • 实时监控tophtop
  • 分析进程关系pstree -p
  • 精准操作pgrep/pkill + /proc/[PID]/

根据需求选择合适的命令即可!