@系统进程管理工具介绍 - Linux&Windows

文章目录

  • 系统进程管理工具
    • [1. Linux/Unix 系统进程管理工具](#1. Linux/Unix 系统进程管理工具)
      • [1.1 ps (Process Status)](#1.1 ps (Process Status))
      • [1.2 top](#1.2 top)
      • [1.3 htop](#1.3 htop)
      • [1.4 kill / pkill / killall](#1.4 kill / pkill / killall)
      • [1.5 nice / renice](#1.5 nice / renice)
      • [1.6 systemd 相关工具](#1.6 systemd 相关工具)
      • [1.7 strace](#1.7 strace)
      • [1.8 lsof](#1.8 lsof)
    • [2. Windows 系统进程管理工具](#2. Windows 系统进程管理工具)
      • [2.1 任务管理器](#2.1 任务管理器)
      • [2.2 Process Explorer (Sysinternals)](#2.2 Process Explorer (Sysinternals))
      • [2.3 tasklist / taskkill](#2.3 tasklist / taskkill)
      • [2.4 Process Monitor (Sysinternals)](#2.4 Process Monitor (Sysinternals))
      • [2.5 Resource Monitor (resmon)](#2.5 Resource Monitor (resmon))
    • [3. 跨平台工具](#3. 跨平台工具)
      • [3.1 Glances](#3.1 Glances)
      • [3.2 pm2 (Node.js)](#3.2 pm2 (Node.js))
    • [4. 高级进程分析工具](#4. 高级进程分析工具)
      • [4.1 perf (Linux)](#4.1 perf (Linux))
      • [4.2 dtrace (Solaris/BSD)](#4.2 dtrace (Solaris/BSD))
      • [4.3 SystemTap (Linux)](#4.3 SystemTap (Linux))

系统进程管理工具

以下是我整理的常用进程管理工具及其详细描述:

1. Linux/Unix 系统进程管理工具

1.1 ps (Process Status)

描述:最基础的进程查看工具,显示当前运行的进程信息。

常用参数

  • ps aux:显示所有用户的所有进程
  • ps -ef:完整格式显示所有进程
  • ps -u username:显示特定用户的进程
  • ps -p PID:显示特定PID的进程

输出字段

  • PID:进程ID
  • USER:进程所有者
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • VSZ:虚拟内存大小
  • RSS:常驻内存大小
  • TTY:终端
  • STAT:进程状态
  • START:启动时间
  • TIME:CPU占用时间
  • COMMAND:命令名

1.2 top

描述:实时动态显示系统进程活动情况,类似Windows的任务管理器。

功能

  • 实时更新进程和系统资源使用情况
  • 可按CPU、内存等排序
  • 可交互式操作(如杀死进程)

常用命令

  • M:按内存使用排序
  • P:按CPU使用排序
  • k:杀死进程
  • q:退出

1.3 htop

描述:top的增强版,提供彩色界面和鼠标支持。

优势

  • 更直观的界面
  • 垂直和水平滚动查看所有进程和完整命令行
  • 支持鼠标操作
  • 可以树状显示进程

1.4 kill / pkill / killall

描述:用于终止进程的工具。

  • kill PID:通过PID杀死进程
  • kill -9 PID:强制杀死进程
  • pkill process_name:通过名称杀死进程
  • killall process_name:杀死所有同名进程

1.5 nice / renice

描述:调整进程优先级。

  • nice -n 10 command:以指定优先级启动进程
  • renice 5 -p PID:调整运行中进程的优先级

1.6 systemd 相关工具

描述:现代Linux系统的服务管理工具。

  • systemctl start|stop|restart|status service
  • systemctl enable|disable service:设置开机启动
  • journalctl -u service:查看服务日志

1.7 strace

描述:跟踪进程的系统调用和信号。

用途:调试程序,分析进程行为。

1.8 lsof

描述:列出打开的文件和对应进程。

常用

  • lsof -i :80:查看使用80端口的进程
  • lsof -u username:查看用户打开的文件

2. Windows 系统进程管理工具

2.1 任务管理器

描述:Windows内置的图形化进程管理工具。

功能

  • 查看运行中的进程
  • 查看CPU、内存、磁盘、网络使用情况
  • 结束进程
  • 启动新任务

2.2 Process Explorer (Sysinternals)

描述:微软提供的增强版任务管理器。

特点

  • 显示进程层次结构
  • 显示进程加载的DLL
  • 显示进程的句柄和线程
  • 颜色标识不同进程类型

2.3 tasklist / taskkill

描述:命令行进程管理工具。

  • tasklist:显示所有进程
  • taskkill /PID pid /F:强制结束进程
  • taskkill /IM name.exe /F:结束指定名称的进程

2.4 Process Monitor (Sysinternals)

描述:实时监控文件系统、注册表、进程/线程活动。

用途:高级系统调试和监控。

2.5 Resource Monitor (resmon)

描述:Windows资源监视器,提供详细的资源使用情况。

3. 跨平台工具

3.1 Glances

描述:基于Python的跨平台系统监控工具。

特点

  • 支持客户端-服务器模式
  • Web界面
  • 可监控远程主机

3.2 pm2 (Node.js)

描述:Node.js应用的进程管理器。

功能

  • 守护进程
  • 负载均衡
  • 日志管理
  • 监控

4. 高级进程分析工具

4.1 perf (Linux)

描述:Linux性能分析工具,可以分析CPU使用、缓存命中率等。

4.2 dtrace (Solaris/BSD)

描述:动态跟踪工具,可用于性能分析和故障排除。

4.3 SystemTap (Linux)

描述:类似dtrace的Linux系统跟踪工具。


这些工具根据不同的使用场景和需求,可以帮助系统管理员和开发者有效地监控、管理和分析系统进程。