否定的な引数(たとえば「nice -15」)を含む「nice」が好感度を上げるのはなぜですか。

否定的な引数(たとえば「nice -15」)を含む「nice」が好感度を上げるのはなぜですか。

私はniceGNU 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 -15nice -15信号数が負になることを望まないので、それほど混乱しません。混乱している場合は、nice親近感の調整が負である可能性があり、<dash> <digit(s)> が確かに正の数ではなく数字のように見える可能性があるためです。-15負の数が意味のある状況では、「マイナス15」と解釈しやすいです。

ダッシュの後の数字には明示的な記号が含まれている場合があります。

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

残念ながら、--15これは長いオプション(比較--help:)と正のように見えるため、混乱を招く可能性があります。これが好むもう一つの理由ですnice -n

関連情報