第五章 进程管理
目录
进程管理
进程的概念
在计算机科学中,进程是程序执行的实例。每个进程都有自己的内存空间、代码、数据和系统资源。进程是操作系统进行任务调度和资源分配的基本单位。
查看进程
静态查看进程 - ps命令
ps
命令用于显示当前运行在系统上的进程。常见的用法是ps aux
,该命令显示所有用户的详细进程信息。
ps aux
参数:
-a
: 显示终端上的所有进程,而不仅仅是当前用户的进程。-u
: 以用户为中心的格式显示进程信息。-x
: 显示没有控制终端的进程。
输出结果解释:
USER
列显示进程所属的用户。PID
列显示进程的ID。%CPU
和%MEM
列分别显示进程的CPU和内存使用情况。COMMAND
列显示启动进程的命令。
动态查看进程 - top命令
top
命令提供了实时的系统资源使用情况和进程信息。它以交互方式显示,并动态更新信息。
top
交互式命令:
q
: 退出top。k
: 杀死一个进程。
输出结果示例解释:
- 在顶部显示系统整体的负载情况。
- 进程列表显示各个进程的PID、用户、CPU使用率、内存使用率等信息。
信号控制进程
kill命令
kill
命令用于终止进程。通过发送不同的信号,可以实现优雅地关闭进程或强制终止。
kill -9 PID
参数:
-9
或-SIGKILL
: 发送SIGKILL信号,强制终止进程。
示例代码:
# 发送SIGKILL信号终止进程,替换PID为实际的进程ID
kill -9 1234
killall命令
killall
命令用于终止指定名称的所有进程。
killall -9 process_name
参数:
-9
或-SIGKILL
: 发送SIGKILL信号,强制终止进程。process_name
: 指定要终止的进程的名称。
示例代码:
# 发送SIGKILL信号终止所有名称为process_name的进程
killall -9 firefox
进程优先级
使用top命令查看进程优先级
top
命令也可以用来查看进程的优先级。在进程列表中,NI
列显示Nice值,即进程的优先级。
top
交互式命令:
r
: 修改进程的Nice值。
输出结果:
- 在
NI
列下可以看到进程的Nice值,范围从-20到+19。
使用ps命令查看nice级别
ps
命令结合-o
选项可以用来显示进程的Nice值。
ps -eo pid,cmd,nice
参数:
-eo
: 自定义输出格式。pid
: 进程ID。cmd
: 进程的命令。nice
: 进程的Nice值。
示例代码:
# 显示所有进程的PID、命令和Nice值
ps -eo pid,cmd,nice
作业控制
后台作业和前台作业
通过&
符号,可以将命令放在后台执行。
command &
输出结果示例解释:
- 会显示进程ID,表示后台作业的进程ID。
使用fg
和bg
命令可以控制作业的前台和后台运行。
bg %job_number
fg %job_number
参数解释:
%job_number
: 作业的编号。
示例代码:
# 将作业放到后台运行
command &
# 将后台作业切换到前台
fg %1
# 将前台作业切换到后台
bg %1
实例: 管理远程主机
通过SSH连接到远程主机,并在远程主机上执行进程管理命令。
ssh user@remote_host
ps aux
top
kill -9 PID
实例解释:
ssh
: 通过SSH协议连接到远程主机。ps aux
: 查看远程主机上所有用户的进程信息。top
: 动态查看远程主机上的系统资源和进程信息。kill -9 PID
: 强制终止远程主机上指定PID的进程。