shell renice 改变系统上已运行命令的优先级

有时你想改变系统上已运行命令的优先级。这正是renice命令可以做到的。它允许你指定 运行进程的PID来改变它的优先级。

renice命令有一些限制:
1.只能对属于你的进程执行renice;
2.只能通过renice降低进程的优先级;
3.root用户可以通过renice来任意调整进程的优先级。如果想完全控制运行进程,必须以root账户身份登录或使用sudo命令。

code

macname@MacdeMacBook-Pro Desktop % cat test.sh 
#!/bin/bash
# Trapping the script exit #
trap "echo Goodbye..." EXIT #
count=1
while [ $count -le 5 ]
do
echo "Loop #$count"
sleep 1
count=$[ $count + 1 ]
done
macname@localhost Desktop %

macname@localhost Desktop % ./test.sh  
Loop #1
Loop #2
Loop #3
Loop #4
Loop #5
^Z
zsh: suspended  ./test.sh
macname@localhost Desktop % 
macname@localhost Desktop % jobs -l
[1]  + 52431 suspended  ./test.sh
macname@localhost Desktop % 
macname@localhost Desktop % 
macname@localhost Desktop % ps -p 52431 -o pid,ppid,ni
  PID  PPID NI
52431 40368  0
macname@localhost Desktop % renice -n 10 -p 52431
macname@localhost Desktop % ps -p 52431 -o pid,ppid,ni
  PID  PPID NI
52431 40368 10
macname@localhost Desktop % 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-30 22:03  anobscureretreat  阅读(186)  评论(0编辑  收藏  举报