shell_70.Linux调整谦让度

本文介绍了Linux中的nice和renice命令,它们用于设置和修改进程的调度优先级。nice命令允许普通用户降低优先级,但提升权限受限;renice命令可调整已运行进程的优先级,同样受用户权限影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调整谦让度
1.nice 命令
(1)nice 命令允许在启动命令时设置其调度优先级。要想让命令以更低的优先级运行,只需用nice 命令的-n 选项指定新的优先级即可:

$ nice -n 10 ./jobcontrol.sh > jobcontrol.out & 
[2] 16462 
$ 
$ ps -p 16462 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16462 1630 10 /bin/bash ./jobcontrol.sh 
$ 


注意,nice 命令和要启动的命令必须出现在同一行中。ps 命令的输出证实,谦让度(NI列)已经调整到了 10。

(2)nice 命令使得脚本以更低的优先级运行。但如果想提高某个命令的优先级,那么结果可能会让你大吃一惊:

$ nice -n -5 ./jobcontrol.sh > jobcontrol.out & 
[2] 16473 
$ nice: cannot set niceness: Permission denied 
$ ps -p 16473 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16473 1630 0 /bin/bash ./jobcontrol.sh 
$ 


nice 命令会阻止普通用户提高命令的优先级。注意,即便提高其优先级的操作没有成功,指定的命令依然可以运行。
只有 root 用户或者特权用户才能提高作业的优先级。

(3)nice 命令的-n 选项并不是必需的,直接在连字符后面跟上优先级也可以:

$ nice -10 ./jobcontrol.sh > jobcontrol.out & 
[2] 16520 
$ 
$ ps -p 16520 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16520 1630 10 /bin/bash ./jobcontrol.sh 
$ 


2.renice 命令

$ ./jobcontrol.sh > jobcontrol.out & 
[2] 16642 
$ 
$ ps -p 16642 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16642 1630 0 /bin/bash ./jobcontrol.sh 
$ 
$ renice -n 10 -p 16642 
16642 (process ID) old priority 0, new priority 10 
$ 
$ ps -p 16642 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16642 1630 10 /bin/bash ./jobcontrol.sh 
$ 


(1)有时候,你想修改系统中已运行命令的优先级。renice 命令可以帮你搞定。它通过指定运行进程的 PID 来改变其优先级:

$ ./jobcontrol.sh > jobcontrol.out & 
[2] 16642 
$ 
$ ps -p 16642 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16642 1630 0 /bin/bash ./jobcontrol.sh 
$ 
$ renice -n 10 -p 16642 
16642 (process ID) old priority 0, new priority 10 
$ 
$ ps -p 16642 -o pid,ppid,ni,cmd 
 PID PPID NI CMD 
 16642 1630 10 /bin/bash ./jobcontrol.sh 
$ 


renice 命令会自动更新运行进程的调度优先级。和 nice 命令一样,renice 命令对于非特权用户也有一些限制:
只能对属主为自己的进程使用 renice 且只能降低调度优先级。但是,root 用户和特权用户可以使用 renice 命令对任意进程的优先级做任意调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

微辣已是极限

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

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

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

打赏作者

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

抵扣说明:

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

余额充值