在Linux系统中,进程(Process)是程序运行时的实例,就像一个正在执行的“任务”。管理进程可以帮助我们查看系统中哪些程序在运行、监控资源占用情况,以及在程序异常时终止它们。对于新手来说,掌握几个核心的进程管理命令,能快速解决日常遇到的问题。

一、查看进程:ps 命令

作用ps 是最基础的进程查看工具,能列出当前系统中运行的进程状态。
基本用法:直接输入 ps 或带参数,常用组合是 ps -auxps -efa 显示所有用户进程,u 显示详细用户信息,x 显示无终端的进程;e 显示所有进程,f 显示完整格式)。

示例
输入 ps -aux,会看到类似以下输出(简化版):

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19560  1164 ?        Ss   10:00   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    10:00   0:00 [kthreadd]
...

关键列解释
- PID:进程ID(唯一标识,后续操作的“身份证号”);
- USER:运行进程的用户;
- %CPU/%MEM:CPU和内存占用率;
- STAT:进程状态(R=运行、S=睡眠、Z=僵尸进程等);
- COMMAND:启动进程的命令。

二、实时监控进程:top 命令

作用topps 更强大,能动态实时更新进程信息,适合监控系统负载和资源变化。
基本用法:直接输入 top,界面会自动刷新(默认3秒一次)。

常用操作
- 按 P:按CPU使用率从高到低排序;
- 按 M:按内存使用率从高到低排序;
- 按 k:终止进程(输入目标PID,按回车);
- 按 q:退出 top

注意top 会持续运行,按 q 退出,不要直接关闭终端窗口(否则进程可能继续占用资源)。

三、终止进程:killkillall

作用:当程序卡死或异常时,需要终止进程。kill 通过PID终止,killall 通过进程名终止。

1. kill 命令

  • 用法kill [信号] PID(信号默认是15,正常终止;9=强制终止)。
  • 示例
  # 先通过ps找到目标进程PID,比如“firefox”的PID是1234
  ps -aux | grep firefox  
  # 终止进程(先尝试正常终止)
  kill 1234  
  # 若进程无响应,强制终止
  kill -9 1234  
  • 注意-9 是“硬终止”,可能导致数据丢失(如未保存的文件),仅在程序无响应时使用。

2. killall 命令

  • 用法killall [信号] 进程名(直接按名称终止,无需找PID)。
  • 示例
  # 终止所有名为“firefox”的进程
  killall -9 firefox  
  • 优势:适合知道进程名但记不住PID的场景,比逐个 kill 更高效。

四、进程树状图:pstree

作用:以树状图显示进程的父子关系,直观展示程序的层级结构。
基本用法:直接输入 pstree,或加参数 p(显示PID)、a(显示完整路径)。

示例

pstree -ap  
# 输出类似:
systemd(1)───sshd(1234)───bash(5678)───pstree(9012)

优势:快速理解程序之间的依赖关系(如 bashpstree 的父进程)。

五、后台作业管理:jobsbgfg

场景:在终端运行程序时,不想一直占用前台(如编译代码、下载大文件)。

1. jobs 命令

  • 作用:查看后台暂停的作业(用 Ctrl+Z 暂停的任务)。

2. bgfg

  • bg:将后台暂停的作业恢复为运行状态(bg %作业号,作业号在 jobs 中显示)。
  • fg:将后台作业调回前台运行(fg %作业号)。

示例

# 启动一个长时间任务(如编译),后台运行
make -j8 &  
# 若中途想暂停,按 Ctrl+Z,终端显示:[1]+  Stopped                 make -j8  
# 查看后台作业:jobs  
# 恢复后台运行:bg 1  
# 调回前台:fg 1  

新手注意事项

  1. 不要终止系统关键进程:如 initsystemdsshd 等,否则系统可能崩溃。
  2. 确认PID再操作:用 pspgrep(按名查PID)确认进程PID,避免误杀。
  3. 普通用户权限:普通用户只能终止自己启动的进程,终止其他用户进程需 sudoroot 权限。

掌握以上命令,就能应对Linux系统中90%的进程管理场景。日常工作中,ps 查进程、top 监控资源、kill 终止异常进程是最核心的组合。遇到问题时,可通过 man 命令 查看详细手册(如 man ps),多练习就能熟练使用!

小夜