助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 3494
問題を開く
「test」プログラムを最も高い優先度で実行したい。適切なコマンドは次のうちどれか。(全て選択)

正解

nice -n -20 test

nice --20 test

解説

プロセスにはnice値という実行優先度が設定されています。
nice値を指定してコマンドを実行(プロセスを起動)するにはniceコマンドを利用します。

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

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

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


したがって正解は
・nice -n -20 test
・nice --20 test
です。

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

その他の選択肢については以下のとおりです。
・nice test
nice値10でtestプログラムが実行されるので、誤りです。

・nice -n 20 test
・nice -20 test
nice値は「-20」から「19」までなので、20を指定するのは誤りです。
エラーにはなりませんが、最も低い優先度のnice値19でtestプログラムが実行されます。

参考

プロセスには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 --20 test は正解ですか?

投稿日 2024/11/25

回答に下記選択肢が含まれる理由がしりたいです。

nice --20 test

2024/11/25 14:52

「--20」ということではないでしょうか?(そういう質問では無いですかね?)


コメント

P Pnt11241_010

2024/11/25 16:54

理解不足で申し訳ございません。「 --20」ではなく、「-20」nice値として読む(解釈)するということでしょうか?

a arashi1977

2024/11/25 21:53

> 「 --20」ではなく、「-20」nice値として読む はい、そういうことです。 -(nice値) なので、nice値を「-20」とするなら書式としては「--20」となる、ということですね。

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

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