助け合いフォーラム
正解
10
解説
niceコマンドの書式は以下のとおりです。
nice [-n nice値] コマンド ※[]内は省略可能
または
nice [-nice値] コマンド
nice値を省略した場合、実行元プロセスのnice値に10を加算した値になります。例えばシェルからコマンドを実行する場合、通常はシェルのnice値はデフォルトの「0」であるため、実行されるプロセスのnice値は「10」になります。
したがって、正解は
・10
です。
その他の選択肢については、いずれもデフォルトで設定されるnice値ではありませんので、誤りです。
参考
1つのCPUでは、ある瞬間に実行できるプロセスは1つです。OSは、CPUを使うプロセスを非常に短い時間の間隔で次々に切り替えています。そのため、ユーザからは複数のプロセスが同時に動いているように見えます。
プロセスには、CPUの割り当てに影響するnice値が設定されています。CPUを必要とする複数のプロセスがある場合、nice値の低いプロセスほど優先的にCPUを割り当てられます。
nice値は「-20」から「19」まであり、nice値が低いプロセスほど優先度が高くなります。デフォルトのnice値は「0」です。

nice値を操作する手段として、niceコマンド、reniceコマンドがあります。
■niceコマンド
nice値を指定してコマンドを実行(プロセスを起動)するにはniceコマンドを利用します。
niceコマンドの書式は以下のとおりです。
nice [-n nice値] コマンド ※[]内は省略可能
または
nice [-nice値] コマンド
nice値を省略した場合、実行元プロセスのnice値に10を加算した値になります。例えばシェルからコマンドを実行する場合、通常はシェルのnice値はデフォルトの「0」であるため、実行されるプロセスのnice値は「10」になります。
■reniceコマンド
すでに起動しているプロセスの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
例2)既に実行しているプロセス(PIDは100)を最も高い優先度(-20)に変更する場合
# renice -20 -p 100
以下はniceコマンドとreniceコマンドの実行例です。
例)sleepコマンドをnice値「11」で実行する

例)sleepコマンドのnice値を「11」から「19」に変更する

■nice値の確認
プロセスのnice値はtopコマンドとpsコマンドで確認できます。psコマンドの場合は「l」オプションを使用します。
nice値は「NI列」で確認できます。
例)「ps l」コマンドと「top」コマンドの出力
nice値と優先度の用語について
この問題の文章は「testプログラムの優先度は次のうちどれか。」
となっており、選択肢の19~-20の値のことを「優先度」と表現しています。
これに対して、その後の解説では、19~-20の値のことを「nice値」と表現し
参考では、「実行優先度」とも表現されています。
つまり、「nice値」「優先度」「実行優先度」が同じ意味で使われており
全て、選択肢の19~-20の値のことを指し示しています。
一方、ps -l では、PRI と NI の2つの値が表示され、19~-20の値
はNI列に表示されます。
この問題の表現が正しいとすると
NI = 「nice値」「優先度」「実行優先度」
になりますが、その場合、PRIは、日本語では、どの様な用語になるのかと
いう疑問が生じます。
19~-20の値のことを「nice値」「優先度」「実行優先度」と表現すること
は正しいのでしょうか。
正しい場合、ps -lのPRIは、日本語では、どの様な用語になるのでしょうか。
ご存じの方がおられたら、教えて下さい。
宜しくお願いします。
日本語難しいですね。
「nice値がどういうものか→ユーザーが設定できるプロセス実行時の優先度」という話をする際に使っているものなので
つまり、「nice値」「優先度」「実行優先度」が同じ意味で使われており
全て、選択肢の19~-20の値のことを指し示しています。
これは別におかしなことを言っているとは思えないです。
一方で
正しい場合、ps -lのPRIは、日本語では、どの様な用語になるのでしょうか。
この問題(ID:3493)では触れられていないPRIの話なので、LPIC Lv1の学習範囲外となりますのであまり掘り下げないことをお勧めします。
簡単にいうと「カーネルが実行中のプロセスに対して割り当てている(プロセススケジューリング上の)プライオリティ値」のことです。
興味があればこの記事に簡単に概要がまとまっているのでご覧ください。
https://medium.com/@chetaniam/a-brief-guide-to-priority-and-nice-values-in-the-linux-ecosystem-fb39e49815e0
コメント
この投稿に対して返信しませんか?
k kz5835
2023/07/29 12:19
arashi1977様 ご回答、有難うございます。 お忙しいところ恐縮ですが、もう少し、教えて下さい。 ご紹介頂いたurlでは、PRIをPriority value、本問題の選択肢の 情報をNice valueと表現しています。 日本語では、前者が優先度、後者がnice値になる思っています。 私の質問意図は、上記の表現が一般的であるとすると 実際のlpic試験でも、選択肢の19~-20の値のことを 「優先度」と表現(翻訳)される可能性がないのではないかということで 「優先度」と表現(翻訳)される可能性がない(あるいはほとんどない) のであれば、本問題の「優先度」「実行優先度」は、「nice値」に 変更/修正すべきではないかと思われたのですが、この点については いかがでしょうか。 上記の考えが妥当なのか、あるいは、そうではなく、一般的に 選択肢の19~-20の値が「優先度」と表現されることはよくあり 実際の試験でもその様に表現される可能性があるのかを もし、ご存じであれば、教えて頂けますと、大変に有難いです。 宜しくお願いいたします。