如何修改进程的优先级

linux中进程的查看和修改

优先级的本质就是进程PCB里面的一个或者多个数字,在Linux操作系统中优先级由两个数字决定一个是PRI一个是NI,通过指令ps -al便可以查看到每个进程对应的优先级也就是PRI和NI的值,

在这里插入图片描述

PRI是该进程的最终优先级的值,该值是由老的优先级+NI的值觉得那个其中老的优先级的值一直为80,所以这些进程的PRI值都为80,而修改进程优先级的方式是通过修改NI的值来实现进程整体优先级的修改,比如说下面的代码:

  1 #include<stdio.h>  
  2 #include<unistd.h>  
  3 int main()  
  4 {  
  5     while(1)  
  6     {  
  7         printf("我的pid为:%d\n",getpid());
  8         sleep(1);                                                                                                                            
  9     }                                                                                                                  
 10     return 0;                                                                                                          
 11 }                                                                                                 

将这段代码运行起来然后输入ps -al指令就可以看到该进程的优先级:
在这里插入图片描述
那么修改优先级的方式就是先执行top指令
在这里插入图片描述
然后再输入一个r就可以输入你想要修改优先级的程序的PID如果不输入的话就默认是9888
在这里插入图片描述
myproc进程的PID为10086,所以将其输入以后就会出现这样的现象:
在这里插入图片描述
让我们输入想要修改的NI的值,那么这里我们输入一个10然后再用指令ps -al就可以看到myproc程序的NI的值变成了10,PR的值变成了90在这里插入图片描述
那么这就是修改程序优先级的方法,但是这里大家要注意一点虽然可以通过修改NI的值来修改进程的优先级,但是操作系统为了防止有些进程过度的占用cpu的资源给NI的值设定了一些限制NI的值最低只能为-20最高为19比如说下面的操作,我们将NI的值修改成100但是执行的NI的结果却为19
在这里插入图片描述
在这里插入图片描述

将NI的值修改为-100但是执行的结果却为-20,
在这里插入图片描述
在这里插入图片描述

那么这里大家要注意一下,PRI的值越低说明该进程的优先级越高,PRI的值越高说明该进程的优先级越低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶超凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值