プロセスの優先度をセットする
setpriority
はプロセス、または、プロセスグループ、または、ユーザーのスケジューリング優先度をセットします。
どのスケジューリング優先度をセットするのかは、引数 WHICH に指定しますが、
指定可能な値は
POSIX モジュールの定数
で、
PRIO_PROCESS
(プロセス), PRIO_PGRP
(プロセスグループ),
PRIO_USER
(ユーザー) のいずれかです。
そして、WHO には、WHICH の値に応じて、それぞれ、プロセス ID, プロセスグループ ID, ユーザー ID を指定します。
PRIORITY は OS に依存しますが、通常は -20 から 19 の整数で、値が低ければ低いほど優先度が高くなります。
use POSIX qw(PRIO_PROCESS PRIO_PGRP PRIO_USER);
print getpriority( PRIO_PROCESS, $$ ), "\n"; # 0
setpriority( PRIO_PROCESS, $$, 10 );
print getpriority( PRIO_PROCESS, $$ ), "\n"; # 10
getpriority
は Windows では利用できませんので注意してください。