【Linux】一步一步学Linux——nice命令(127)

本文深入讲解Linux下nice命令的使用,介绍如何通过nice调整进程优先级,实现系统资源的合理分配。从命令概述到格式、选项,再到实际操作示例,帮助读者掌握nice命令的精髓。

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

00. 目录

01. 命令概述

nice命令用于以指定的进程调度优先级启动其他的程序。

系统的后台工作中,某些比较不重要的进程在运行,例如备份,由于备份工作相当耗系统资源,这个时候就可以调大备份命令的nice值,可以使系统资源更合理使用。

02. 命令格式

用法:
 renice [-n] <优先级> [-p|--pid] <pid>...
 renice [-n] <优先级>  -g|--pgrp <pgid>...
 renice [-n] <优先级>  -u|--user <用户>...

03. 常用选项

选项:
 -g, --pgrp <id>        将参数解释为进程组 ID
 -n, --priority <数字>  指定 nice 增加值 范围在-20~19
 -p, --pid <id>         将参数解释为进程 ID (默认)
 -u, --user <name|id>   将参数解释为用户名或用户 ID
 -h, --help             显示帮助文本并退出
 -V, --version          显示版本信息并退出

04. 参考示例

4.1 设置进程优先级为19

[root@itcast ~]# nice -n 19 vim &
[1] 18565

4.2 新建一个进程并设置优先级19

新建一个进程并设置优先级,将/etc目录打包,但不希望tar占用太多CPU:

[root@itcast ~]# nice -19 tar -czvf test.tar.gz /etc

方法非常简单,即在原命令前加上nice -19。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望/etc目录打包,并且赋予tar进程最高的优先级:

4.3 新建一个进程并设置优先级-19

[root@itcast ~]# nice --19 tar -czvf test.tar.gz /etc

4.4 设置优先级并且查看

[root@itcast ~]# nice -n -5 vim & 
[2] 29010
[root@itcast ~]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 T     0  29010 109841  1  75  -5 - 37522 do_sig pts/0    00:00:00 vim
0 R     0  29191 109841  0  80   0 - 38300 -      pts/0    00:00:00 ps
4 S     0 109803  63226  0  80   0 - 58600 do_wai pts/0    00:00:00 su
4 S     0 109841 109803  0  80   0 - 29215 do_wai pts/0    00:00:00 bash
[root@itcast ~]# 

对于普通用户来说,只可以以更低优先级运行命令,更高优先级运行命令需要高级用户权限。

nice命令不允许普通系统用户增加命令的优先级。这是一个安全特性,防止用户以高优先级启动所有命令。

很明显nice命令是为未运行命令指定运行时调度优先级的。

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沧海一笑-dj

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

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

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

打赏作者

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

抵扣说明:

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

余额充值