Linux基础6 进程管理命令

一.进程管理命令

1.什么是进程?

  • 程序:是完成特定任务的一系列数据+指令的集合(钢琴琴谱,磁盘上,程序=数据+指令)
  • 进程:正在执行的程序(根据琴谱弹奏的过程,运行在内存上)

进程(process)是计算机上一端程序的执行过程,是操作系统进行资源分配的基本单位,但是进程并不仅仅是局限于一段可执行的代码段,通常进程还需要包含其他的资源,例如打开的文件,挂起的信号,处理器的状态等等。

简而言之,进程就是正在执行的程序代码的实时显示结果。

2.PCB

操作系统需要高效的管理我们的进程,所以为了方便控制进程的运行,将进程的管理和控制放到了一个数据结构,这个结构体就是我们所说的PCB进程控制块(proces control block),每一个进程均有一个PCB,在创建进程时,PCB首先创建,伴随着进程运行的全过程,当进程结束时,PCB才消退。

PCB记录了操作系统所需的,用于描述进程的当前运行情况以及控制进程运行的全部信息。

3.进程在内存中怎么管理?

在这里插入图片描述

  • 执行程序时,先创建PCB,再加载进程实体。
  • 进程结束时,先释放进程实体,最后释放PCB。
  • 僵死进程:进程实体释放了,但是PCB未能正常释放。

4.进程查看命令

4.1 ps

默认显示当前终端有关的进程信息

  • -e 显示系统中所有的进程系统(-A)
  • -f 显示更多的进程属性信息(全格式)
  • -L 显示进程中线程ID
    在这里插入图片描述
  • UID:用户id
  • PID:进程id
  • PPID:父进程id
  • C:CPU占用率
  • STIME: (start time)进程创建时间
  • TTY:当前终端号
  • TIME:进程运行时间
  • CMD:当前进程执行的命令

4.2 pstree

以树状图的形式显示进程之间的关系
在这里插入图片描述

4.3 kill

结束或者挂起一个进程

  • -9(SIGKILL) 强制结束一个进程
  • -STOP 挂起进程(挂起:主动将进程执行暂停,CPU则不再给这个进程分配资源)

4.3.1 前后台

  • 将进程放到前台运行:路径+ 可执行文件名
  • 将进程放到前台运行:路径+ 可执行文件名 + &

在前台运行的进程,会一直占用终端,导致终端接收不到其他命令,这个时候只能另起一个终端,但是在后台运行的进程,不会占用终端,可以执行其他操作,另一个好处就是不会被ctrl+c(误触)终止。

  • ctrl + d 停止输入
  • ctrl + c 结束进程
  • ctrl + z 挂起进程

4.3.2 演示结束进程

在这里插入图片描述

5.pkill

用来结束一组同名的进程(CMD一样)

演示如下:
在这里插入图片描述
总结:

  • kill PID //结束一个进程
  • kill -9 PID //强制结束一个进程
  • kill -STOP PID //挂起一个进程
  • pkill CMD //结束CMD相同一批进程

6.jobs

显示当前终端的任务,后台执行的或者挂起的任务
在这里插入图片描述

7.fg

将后台运行的任务或者挂起的任务放到前台

将后台运行的任务放到前台:
在这里插入图片描述

将挂起的进程放到前台:
在这里插入图片描述

8.bg

将挂起的进程唤醒到后台去运行:
在这里插入图片描述

9.top

用来查看系统资源使用情况(动态变化的),类似windows上的任务管理器

  • top命令执行后,按f进入到top的解释页面
  • 前面带*的,说明已经显示
    在这里插入图片描述

按f后,示例如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_56935264/article/details/124219446