【Linux】进程优先级 && 命令行参数 && 环境变量

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

文章目录

前言

一、进程优先级

1.1、进程优先级的基本概念

1.2、优先级 VS 权限

1.3、为什么要有优先级?

1.4、Linux的优先级的特点 && 查看方式

1.5、PRI and NI

1.6、用top命令更改已存在进程的nice

1.7、其他概念

二、命令行参数

三、环境变量

3.1、基本概念

3.2、常见环境变量

3.3、查看环境变量方法

3.4、有什么方法可以不用带路径,直接就可以运行呢?

强硬的方法:

温柔的方法:

但是我们依然想要将可执行程序myprocess的路径添加到PATH环境变量里?

我们想要我们添加的路径,永久的保存在PATH环境变量里,怎么做呢?

3.5、和环境变量相关的命令

3.6、环境变量的组织方式

3.7、通过代码如何获取环境变量

通过第三方变量environ获取

命令行第三个参数

3.8、通过系统调用获取或设置环境变量

3.9、环境变量通常是具有全局属性的

3.10、内建命令

总结



前言

世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!


提示:以下是本篇文章正文内容,下面案例可供参考

一、进程优先级

1.1、进程优先级的基本概念

  • 指定进程获取某种资源(如:CPU等)的先后顺序。
  • 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。
  • Linux中优先级数字越小,优先级越高。

要维护一个进程的优先级:task_struct 进程控制块(是描述进程,里面包含了进程的所有属性) --->     struct ----> 内部字段 ----> (default_proi = 80) + (nice = ??) = proi(新的优先级)。

进程的优先级也是进程控制块中所有属性的一种(是内部字段中的一部分)。

1.2、优先级 VS 权限

权限:是能不能的问题。

优先级:已经能了,我们获取资源的顺序。

1.3、为什么要有优先级?

进程访问的资源(CPU)始终都是有限的,系统中进程大部分情况都是较多的。

操作系统关于调度和优先级的原则:分时操作系统,基本的公平,如果进程因为长时间不被调度,就造成了饥饿问题。

1.4、Linux的优先级的特点 && 查看方式

  • ps -l:只能查看当前终端(当前所在分频页面)下启动的进程。
  • ps -al:查看所有终端下启动的进程。

我们很容易注意到其中的几个重要信息,有下:

  • UID : 代表执行者的身份
  • PID : 代表这个进程的代号
  • PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号
  • PRI :代表这个进程可被执行的优先级,其值越小越早被执行
  • NI :代表这个进程的nice值
  • 每次调整优先级,都是从80开始的
  • nice/renice:可以对一个指定的进程,在启动前或运行时,对进程的优先级做动态调整
  • nice并不能让你任意调整,而是有范围的!若任意调整的话,会打破原则中基本的公平
  •  一个进程的优先级是不能频繁更改的

NI:进程优先级的修正数据,nice值,新的优先级 = 优先级 + nice,达到对于进程优先级动态修改的过程。

nice并不能让你随意调整,而是有范围的。[-20~19]

1.5、PRI and NI

  • PRI也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小 进程的优先级别越高
  • 那NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值
  • PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice
  • 这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行
  • 所以,调整进程优先级,在Linux下,就是调整进程nice值
  • nice其取值范围是-20至19,一共40个级别。

1.6、用top命令更改已存在进程的nice

  • top
  • 进入top后按“r”–>输入进程PID–>输入nice值

1.7、其他概念

  • 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
  • 独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰。
  • 并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行。
  • 并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发。

多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进的方式:
如果这种方式下,进程过多,CPU切换负担过重,那么这些进程会出现卡顿的情况,本质是每一个进程被CPU调度的周期变长了。

二、命令行参数

vim Makefile
myprocess : m
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值