第五章 进程管理

进程管理

进程的概念

在计算机科学中,进程是程序执行的实例。每个进程都有自己的内存空间、代码、数据和系统资源。进程是操作系统进行任务调度和资源分配的基本单位。

查看进程

静态查看进程 - 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。

使用fgbg命令可以控制作业的前台和后台运行。

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的进程。
posted @ 2023-11-22 08:06  iiiiicxegg  阅读(34)  评论(0)    收藏  举报