助け合いフォーラム

LPIC

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値という実行優先度が設定されています。
優先度の高いプロセスには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
上に戻る

回答が合っているのかがわからない

投稿日 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 さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。

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