module function Process.#setpriority

setpriority(which, who, prio) -> 0[permalink][rdoc]

プロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを設定します。プライオリティの設定に成功した場合は 0 を返します。

[PARAM] which:
プライオリティを設定する対象の種類を以下の定数のいずれかで指定します。
[PARAM] who:
which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。
[PARAM] prio:
プライオリティを -20 から 20 までの整数で設定します。小さな値はプライオリティが高いことを意味し、大きな値はプライオリティが低いことを意味します。
[EXCEPTION] Errno::EXXX:
プライオリティの設定に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

以下の例は呼び出したプロセス自身のプライオリティを 10 に下げます。すでに 10 よりもプライオリティが低く、 Errno::EACCES となった場合には無視して実行を続けます。

begin
  Process.setpriority(Process::PRIO_PROCESS, 0, 10)
rescue Errno::EACCES
end

[SEE_ALSO] setpriority(2)