模块 5 · 第 1 课(共 2)课程中的10/11~12 min
模块课程(1/2)
管理进程(ps 和kill)
在Linux中,每个正在运行的程序都称为进程。每个进程都分配有一个唯一的数字标识符,称为 PID(进程 ID)。了解如何监视和管理这些进程对于保持系统稳定和高性能至关重要。
监控进程:ps
ps(进程状态)命令显示当前进程的快照。默认情况下,它仅列出与当前用户和当前终端窗口关联的进程。
要完整查看系统上运行的所有进程,通常使用 BSD 选项组合 aux:
a:显示所有用户的进程。u:显示进程所有者和CPU/内存资源使用情况。x:列出不与任何终端关联的进程(如后台服务)。
Bash
ps auxps aux 的输出是一个结构化表,显示重要的列,例如 USER、PID、%CPU、%MEM 和 COMMAND(启动该进程的命令)。
终止进程:kill 和 killall
如果一个进程停止响应或者消耗太多资源,我们可以通过发送信号来终止它。
kill 命令
kill 命令向由其 PID 指定的进程发送信号:
Bash
kill 2048 # Sends the SIGTERM (15) signal, requesting a clean shutdown
kill -9 2048 # Sends the SIGKILL (9) signal, forcing immediate termination[!警告] 仅使用
kill -9作为最后的手段,因为它不允许程序干净地保存数据或关闭打开的文件。
killall 命令
如果您不知道 PID 或者想通过名称终止程序的所有进程,可以使用 killall:
Bash
killall python # Terminates all processes named 'python'自己尝试一下
练习 1:列出所有进程
锻炼#linux.m5.l1.e1
尝试:0加载中...
使用“aux”选项显示系统上所有正在运行的进程的完整列表。
正在加载编辑器...
显示提示
使用“ps”命令,后跟“aux”选项。
3 次尝试后可用的解决方案
练习 2:通过 PID 终止进程
锻炼#linux.m5.l1.e2
尝试:0加载中...
使用“kill”命令终止 PID 2048 的 python 进程。
正在加载编辑器...
显示提示
使用“kill”,后跟进程的 PID (2048)。
3 次尝试后可用的解决方案
练习 3:按名称终止所有进程
锻炼#linux.m5.l1.e3
尝试:0加载中...
使用“killall”命令终止与程序“python”关联的所有正在运行的进程。
正在加载编辑器...
显示提示
使用“killall”后跟程序名称,在本例中为“python”。
3 次尝试后可用的解决方案