为什么带有负参数的“nice”(例如“nice -15”)会增加好感度?

为什么带有负参数的“nice”(例如“nice -15”)会增加好感度?

我的nice来自 GNU coreutils 9.1。我观察到这nice -15相当于nice -n 15

     nice               # prints 0 for me, the base niceness is 0
     nice -n  15 nice   # prints 15, this is expected
sudo nice -n -15 nice   # prints -15, this is expected
     nice    -15 nice   # prints 15

-15是一个负数。为什么它会增加上面最后一个例子中的友好度?手册(例如在 Debian 12 中)没有解释这一点。

答案1

可移植语法-n如果您想指定增量,则需要。如有疑问,请使用nice -n.

参数中nice -15并不是真正的负数。它是一个破折号与一个连接积极的数字。前导破折号表示它是一个选项。比较这个 例如 与kill -15相当于kill -s 15。同样nice -15相当于nice -n 15.

kill -15并不像 那样令人困惑nice -15,因为您不希望信号数为负数。如果nice您感到困惑,因为对友善的调整可能是负数,并且 <dash><digit(s)> 肯定看起来像一个非正数。-15在负数有意义的情况下,很容易将其解释为“负十五”。

请注意破折号后面的数字可能带有明确的符号:

     nice -+15 nice   # prints 15
sudo nice --15 nice   # prints -15

不幸的是,--15看起来有点像一个长选项(比较--help:)和一个正数,这可能会增加混乱。这是更喜欢的另一个原因nice -n

相关内容