理系学生日記

おまえはいつまで学生気分なのか

Process Scheduling

Linux では、どのプロセスが最初に実行されるか、あるいは、割り込みがかかるまでにどれだけの時間がかかるか、といったことをスケジューラは保証しない。ただし、各プロセスに優先度(niceness)を設定することはできる。
デフォルトでは、各プロセスが 0 の niceness 値を持つ。niceness 値が高いほど、優先度が低いことを意味する。
niceness 値の指定は、nice コマンドで行う。

$ nice -n 10 sort input.txt

既にターミナルから実行されているプロセスの niceness 値を変えるには、renice コマンドを使う。プログラムから niceness 値を指定する場合は、nice システムコールを用いる。

nice に負値を指定できるのは、root 権限を持ったユーザのみであり、root 権限で実行されているプロセスのみ。これは、一般ユーザが他のユーザの実行を妨げることのないように、という措置である。