8

UNIX の「nice」コマンドの別のフレーバーを C で実装しようとしています。nice() システム コールと setpriority() コールの定義を見てきました。nice() 呼び出しは、プロセスの優先度を増減するだけです。プロセスの優先度を特定の値に設定したい場合、nice() 呼び出しを使用できませんか? 基本的に、優先度の変更方法以外に、nice() と setpriority() に違いはありますか?

4

3 に答える 3

9

それは歴史的です。 nice()ずっと前に導入されましsetpriority()た。下位互換性のために、nice関数は保持されました。

于 2011-10-01T05:09:26.850 に答える
8

nice独自の優先度 (現在のプロセスの良さ) を設定します。setpriority他のプロセス (またはプロセス グループまたはユーザー) のナイスネスを設定できます。と考えてくださいrenice

男 3p ナイス

int すてきな (int incr);

男 3p セット優先度

int setpriority(int which, id_t who, int value);

于 2011-10-01T05:07:37.447 に答える
3

nice()現在のプロセスのナイス値を現在のナイス値に相対的に変更するため、プロセスは開始時のナイス値を知る必要はなく、システムにとってより適切であることだけを気にします (例: プロセスは、いくつかのバックグラウンド処理を行い、子は自分自身をナイスに設定します)。

setpriority()ユースケースは、特定のプロセスに絶対ナイス値を明示的に設定するユーザーです。

于 2011-10-01T10:24:10.180 に答える