助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 3493
問題を開く
「test」プログラムを以下のように実行した。testプログラムの優先度は次のうちどれか。

# nice test

正解

10

解説

niceコマンドはnice値を指定してコマンドを実行(プロセスを起動)するコマンドです。

niceコマンドの書式は以下のとおりです。

nice [-n nice値] コマンド
または
nice [-nice値] コマンド

nice値を省略して実行した場合、そのコマンドのnice値は「10」になります。

したがって正解は10です。

niceコマンドを使用せずにコマンドを単体で実行した場合のデフォルトのnice値は「0」ですが、niceコマンドを使用した場合のデフォルトの(nice値を指定しなかった場合の)nice値は「10」です。混同しないように注意しましょう。

参考

プロセスにはnice値という実行優先度が設定されています。
優先度の高いプロセスにはCPUの使用時間が多く割り当てられます。

nice値は「-20」から「19」まであり、nice値が低いプロセスほど優先度が高くなります。デフォルトのnice値は「0」です。


nice値を指定してコマンドを実行(プロセスを起動)するにはniceコマンドを利用します。

niceコマンドの書式は以下のとおりです。

nice [-n nice値] コマンド
または
nice [-nice値] コマンド

nice値を省略して実行した場合、そのコマンドのnice値は「10」になります。

また、すでに起動しているプロセスのnice値を変更するにはreniceコマンドを利用します。

reniceコマンドの書式と主なオプションは以下のとおりです。

renice [-n] nice値 オプション


-nオプションは省略可能ですが、-nオプションを使ってnice値を指定する場合でも-nを使わない場合と同様、他のオプションの前に指定しなければなりません。

なお、nice値を指定・変更する主な目的は、実行に長時間かかったり重要ではないプログラムを低い優先度で実行するためなので、一般ユーザでは以下の操作はできません。以下の操作を行うにはroot権限が必要です。
・他のユーザのプロセスのnice値を変更する
・nice値を下げる(優先度を上げる)
・nice値に0より小さい値を設定する

また、niceコマンドとreniceコマンドではnice値の指定方法が違うところに注意してください。

例1)「test1」プログラムを最も高い優先度(-20)で実行する場合
# nice -n -20 test1
または
# nice --20 test1

例2)既に実行しているプロセス(PIDは100)を最も高い優先度(-20)に変更する場合
# renice -20 -p 100
または
# renice -20 100
上に戻る

niceコマンドを使用せずにコマンドを単体で実行した場合とは?

公開日 2023/04/16

解説の後半部分:「niceコマンドを使用せずにコマンドを単体で実行した場合のデフォルトのnice値は「0」ですが、niceコマンドを使用した場合のデフォルトの(nice値を指定しなかった場合の)nice値は「10」です。混同しないように注意しましょう。」と解説にありますが、文章前半部分の「niceコマンドを使用せずにコマンドを単体で実行した場合」とはどういうことでしょうか? 結局のところ、「niceコマンド使っているじゃないか」と思うのですが、nice値がデフォルトで0の場合と10の場合というのは、何が違うのでしょうか?

2023/04/16 18:38

文章前半部分の「niceコマンドを使用せずにコマンドを単体で実行した場合」とはどういうことでしょうか?

# ./test など、niceコマンドを使わず直接testコマンド(プログラム)を実行することです。


コメント

j jeronimmo521

2023/04/17 03:26

回答ありがとうございます。プログラムのことを言ってたんですね。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?