10-1 进程如何工作

作者 : 开心源码 本文共2460个字,预计阅读时间需要7分钟 发布时间: 2022-05-13 共226人阅读

本章将详情以下命令:

  • ps : 显示当前所有进程的运行情况。
  • top : 实时显示当前所有任务的资源占用情况。
  • jobs : 列出所有活动作业的状态信息。
  • bg : 设置在后端中运行作业。
  • fg : 设置在前端中运行作业。
  • kill : 发送信号给某个进程。
  • killall : 杀死指定名字的进程。
  • shutdown : 关机或者重启系统。

一、进程如何工作

父进程创立子进程

一个程序的运行可以触发其它程序的运行。

进程的有序进行

内核会保存每个进程的信息以便确保任务有序进行。

比方,每个进程将被分配一个称为进程ID(PID)的号码。进程ID是按递增的顺序来分配的,init 进程的PID始终为1。

1.使用 ps 命令查看进程信息

(0)ps命令简介

(1)语法格式

ps [选项]

''' 功能: 用来查看进程信息。 参数: 选项: 返回值:'''
① 示例
Ⅰ.只输入 ps 命令
 ps

ps命令.png

输出结果列出了两个进程:进程 3260 和 进程 4001,分别对应 bash 命令和 ps 命令。

由此可见,在默认情况下,ps 命令输出的内容并不多,只是输出 和当前终端会话相关的进程信息

为了取得更多的信息,需要增加少量选项。

Ⅱ.增加 x 选项

增加 x 选项(注意:这里没有前置连字符)将告诉 ps 命令显示所有的进程,而不需要关注它们是由哪个终端控制的,使用这个选项可以查看所有进程的列表信息

 ps x

ps命令x选项.png

因为系统中运行着大量的进程,所以 ps 命令将会输出一个长列表。

把 ps 命令的输出作为less 命令的输入的方法通常很管用,它可更方便地查看显示结果。有些选项组合也会产生很长的输出行,因而最大化终端仿真窗口很有用。

Ⅲ.选项组合 aux

这是一个常用的选项组合,注意不带前置连字符。

该选项组合将会显示属于每个客户的进程信息

ps aux

ps命令aux选项组合.png

Ⅳ.为何不带前置连字符?

不带前置连字符将使得命令以“BSD模式”运行

ps命令的 Linux 版本可以模拟多种 UNIX 版本中 ps 程序的运行方式,使用这些选项将显示更多列的信息。

(2)ps 命令输出的字段信息

① PID(进程ID)

进程ID。

② TTY

代表了进程的控制终端(controlling terminal)。

是 teletype (电传打字机)的缩写。

? 表示没有控制终端

③ STAT(进程状态)

STAT 是 state 的缩写。

显示的是进程的当前状态

状态含义
R运行状态。进程正在运行或者者准备运行。
S睡眠状态。进程不在运行,而是在等待某事件发生,如键盘输入或者者收到网络报文。
D不可中断的睡眠状态。进程在等待 I/O 操作,如硬盘驱动。
T暂停状态。进程被指示暂停(后续还可继续运行)。
Z无效或者“僵尸”进程。子进程被终止,但是还没有被其父进程彻底释放掉。
<高优先级进程。进程可以被赋予更多的重要性,分配更多的CPU时间。进程的这一特性称为优先级。高优先级的进程被说成较不友好,是由于它将消耗更多的CPU时间,这样留给其它进程的CPU时间就会减少。
N低优先级进程。低优先级进程(友好进程)只有在其它更高优先级的进程使用完解决器后才能够取得使用解决器的时间。

这些进程状态后面可以带其它地字符来表示不同的特殊进程特性。

④ TIME

表示进程消耗的CPU时间总和(即进程的运行时间)。

回到示例Ⅰ中,可以看到 bash进程和 ps进程,没有使得计算机变得忙碌。

⑤ COMMAND

执行的命令。

(3)BSD模式下ps命令输出的列字段

标题含义
USER客户ID。表示该进程的所有者。
%CPUCPU 使用百分比。
%MEM内存使用百分比。
VSZ虚拟耗用内存大小。
RSS实际使用的内存大小。(即进程使用的物理内存RAM大小,以KB为单位。)
START进程开启的时间。若数值超过 24 个小时,那么将使用日期来显示。

2.使用 top 命令动态查看进程信息

ps 命令可以显示有关机器运行情况的很多信息,但是它提供的只是在 ps 命令被执行时刻机器状态的一个快照。

要想查看机器运行情况的动态视图,可以使用 top 命令

(0)top命令简介

top 命令将按照进程活动的顺序,以列表的形式持续升级显示系统进程的当前信息默认每 3 秒升级一次)。

它主要用于查看系统最高(top)进程的运行情况,其名称也源自于此。

top 命令的显示内容包含2个部分:顶部显示系统总体状态信息下面显示的是一张按CPU活动时间排序的进程情况表

(1)语法格式

top

''' 功能: 用来查看进程信息。 参数:  选项: 返回值: 包含2部分: ①顶部显示**系统总体状态信息**。                     ②下面显示的是一张按CPU活动时间排序的进程情况表。'''

top命令1.png

下图,是我过了几秒钟的截图,可以看到是有区别的,这是由于 top 命令是实时升级。

top命令2.png

① 顶部信息中的字段
字段含义
1top程序名。
117:01:15当前时间。
1up 7:34正常运行时间(uptime)。从机器最后一次启动开始计算的时间总数。在上例中,系统已经运行了大约7.5小时。
11 user有 1 个客户已登录。
1load average:负载均值:指的是等待运行的进程数;就可共享CPU资源的处于可运行状态的进程数。显示的 3 个值分别对应不同的时间段:第1个对应的是前60秒的均值;第 2 个对应的是前 5 分钟的均值;第 3 个对应的是前 15 分钟的均值。该值小于 1.0 表示该机器并不忙。
2任务(tasks)统计进程数及各个进程的状态信息。
32.7%us2.7%的CPU时间被客户进程占用(此指处于内核外的进程)
30.7%sy0.7%的CPU时间被系统进程(即内核进程)占用
30.0%ni0.0%的CPU时间被友好进程(即低优先级进程)占用
396.7%id96.7%的CPU时间是空闲的。
30.0%wa0.0%的CPU时间用来等待 I/O 操作
4Mem:显示物理RAM(随机存取内存)的使用情况。
5Swap:显示交换空间(虚拟内存)的使用情况。

(2)可接受键盘指令

top 命令可以接受许多键盘指令,其中最常用的有 2 个:

  • 一个是h:输入后将显示程序的帮助页面。
  • 另一个是 q:用来退出 top 命令(不输入 q 的话,不会返回shell提醒符)。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 10-1 进程如何工作

发表回复