助け合いフォーラム
LPIC Lv1-101(Ver5.0)
問題ID : 3494
問題を開く
「test」プログラムを最も高い優先度で実行したい。適切なコマンドは次のうちどれか。(2つ選択)
正解
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値を指定してコマンドを実行(プロセスを起動)するには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
優先度の高いプロセスには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
回答が合っているのかがわからない
h
hohoo
投稿日 2024/12/20
nice --20 test1 というコマンドは、最近のバージョンのlinuxでもも利用できる指定方法でしょうか?
2024/12/21 19:41
「ハイフンの後に直接nice 値を指定する方法は古いのでは?」という意図の質問と理解しました。ほとんどのLinux ではGNU coreutils のnice を使っていると思うのですが、そのドキュメントでは
https://www.gnu.org/software/coreutils/manual/html_node/nice-invocation.html
For compatibility nice also supports an obsolete option syntax -adjustment. New scripts should use -n adjustment instead.
となっていましたので、まだ使えるという認識です。互換性のためにそうそう廃止はしないのではないかと思います。
ただ、この問題は「適切なコマンドは次のうちどれか。(全て選択)」となっているので、この古い書式が「適切か」といわれると確かに迷います。「(2つ選択)」とか「有効なコマンドは次のうちどれか。(全て選択)」のような問題文になっていてほしいところです。
コメント
スタッフからの返信
この投稿に対して返信しませんか?
s staff_ueda
2024/12/23 06:29
hohoo さん、tnishita2 さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。