Linux进程优先级&前后台理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux进程优先级&前后台理解相关的知识,希望对你有一定的参考价值。

进程优先级

概念

  • 所谓进程优先级,实际上就是CPU资源分配的先后顺序。说白了就是谁的优先级高,谁就先被CPU调度。由于CPU的资源有限,为了更好的提高系统的性能,最大程度的合理分配CPU的资源,CPU会根据进程的优先级进行调度。

“插队”与“抢占”

  • 我们知道,处于R状态的进程是指该进程的PCB处在运行队列中,等待被CPU调度,而队列我们知道它的特点,即先进先出,但是因为有了优先级的存在,就会出现所谓的插队现象。并且当代计算机都是支持“抢占”的。也就是说,假如一个进程正在运行时,突然来了一个优先级更高的进程,OS就会调用一些函数将该进程从CPU上剥离,然后把优先级高的放进去。

【Linux】进程优先级&前后台理解_后台进程

进程优先级的查看

我们可以输入一些指令,比如ps -l,或者top等一些指令,来观察进程的优先级。

【Linux】进程优先级&前后台理解_vim_02

其中PRI表示进程的优先级(Priority),PRI越低,表示该进程的优先级越高。由于PRI是内核动态调整的,我们无法干涉。但是我们可以通过调整NI(nice)值,来调整进程的优先级。

进程优先级的调整

首先我们来看一下公式:

  • PRI(new) = PRI(old) +nice

Linux的进程管理

进程的类型:

前台进程:前台进程就是具有终端,可以和用户交互的进程

后台进程:

◆与前台进程相对,没有占用终端的就是后台进程
◆后台程序基本上不和用户交互,优先级比前台进程低

将需要执行的命令以“&”符号结束

守护进程:

◆守护(daemon)进程是特殊的后台进程
◆很多守护进程在系统弓|导的时候启动,一直运行直到系统关闭
◆Linux有很多典型的守护进程
比如:crond,httpd,sshd

进程的标记:

◆进程ID是进程的唯一 标记,每个进程拥有不同的ID
◆进程ID表现为一-个非负整数,最大值由操作系统限定

父子进程关系:

命令:pstree

特殊的进程:

ID为0的进程为idle进程,是系统创建的第一个进程|
ID为1的进程为init进程,是Q号进程的子进程,完成系统初始化
Init进程是所有用户进程的祖先进程
进程模型:

Map ps 查看进程标记;

操作Linux进程的相关命令
ps命令
top命令
kill命令

ps -aux

Ps - u root

Cpu 进程排序:

Kill -9 pid

操作Linux进程的相关命令

◆ps命令常用于显示当前进程的状态
◆ps命令常配合aux参数或ef参数和grep命令检索特定进程
操作Linux进程的相关命令
◆kill命令 发送指定信号给进程
A
◆kill-I 可以查看操作系统支持的信号

只有(SIGKILL 9)信号可以无条件终止进程,其他信号进程有权忽略

以上是关于Linux进程优先级&前后台理解的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统中暂停正在运行的进程并放入后台

Linux中进程在前后台的切换

Linux的进程管理

Linux下进程以及相关概念理解

12.2linux作业管理调整进程优先级

Linux 进程的基础概念