# renice - 修改正在运行的进程的调度优先级
renice命令 可以修改正在运行的进程的调度优先级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
renice指令可以重新调整程序运行的优先级,可以通过进程id、用户id、组id来修改优先级。修改组的等级,影响组内所有用户的所有进程优先级;修改用户等级,影响该用户的所有进程优先级。除了超级用户之外,其他用户只能改变他们拥有的进程的优先级,并且只能在0到PRIO_MAX(20)范围内单调地增加他们的“nice value”。(这防止了凌驾于行政法规之上。)超级用户可以更改任何进程的优先级,并将优先级设置为PRIO_MIN(-20)~PRIO_MAX。
# 适用范围
RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux
# 语法
renice -n N –u username
renice -n N –g gid
renice -n N –p pid
# 选项
-h, --help # 显示帮助文档
-v, --version # 显示命令版本
-n, --priority # 优先级
-u, --user=name # 设置指定用户的优先级
-g, --pgrp=gid # 设置组的优先级
-p, --pid=PID # 设置指定进程的优先级
# 举例
通过pid修改指令wc优先级
[root@localhost ~]$ ps -ao "%p%y%x%c%n" # 查看进程优先级
PID TTY TIME COMMAND NI
8321 pts/0 00:00:00 wc 19
8451 pts/0 00:00:00 ps 0
[root@localhost ~]$ renice -n 15 -p 8364 # 重设wc进程的优先级,变为15
8364: old priority 19, new priority 15
修改用户root的优先级
[root@localhost ~]$ renice -n 0 -u root # 修改用户root的优先级为0
0: old priority -11, new priority 0
[root@localhost ~]$ ps -ao "%p%y%x%c%n" # 查看进程优先级,当前进程都是root用户的,优先级都是0
PID TTY TIME COMMAND NI
8321 pts/0 00:00:00 wc 0
8364 pts/0 00:00:00 wc 0
8458 pts/0 00:00:00 ps 0