総合手引 | セクション 2 | English | オプション |
#include <sched.h>
この実装では、 pid の値が負の場合、システムコールは処理に失敗します。
pid で指定するプロセスが存在し、かつ 呼び出し元プロセスにパーミッションがある場合、 プロセス ID が pid と等しいプロセスに対してスケジュールパラメータを設定します。
pid が 0 の場合、呼び出し元プロセスに対して スケジュールパラメータを設定します。
この実装では、あるプロセスが別のプロセスのスケジュールパラメータに いつ影響を及ぼせるのかという方針は、書込みスタイル操作として IEEE Std 1003.1b-93 ("POSIX.1") に指定されているものです。
ターゲットプロセスは、実行中にせよ実行中でないにせよ、 優先順位が等しいかまたはより高い、 他のすべての実行可能なプロセスが実行されるようにスケジュールされた後で、 実行を再開します。
pid 引数で指定するプロセスの優先順位が、 最も優先順位の低い実行中のプロセスの優先順位より高く設定されており、 しかも指定のプロセスの実行準備ができている場合、 pid 引数で指定するプロセスは 優先順位が最も低い実行中のプロセスをプリエンプトします。 同じように、 sched_setparam() を呼び出しているプロセスがその優先順位を、 1 つまたは複数の空でないプロセスリストの優先順位より低く設定する場合、 優先順位が最も高いリストの先頭のプロセスも 呼び出し元プロセスをプリエンプトします。 このように、いずれのケースでも、 優先順位の高いプロセスが実行されてしまうまで、 元のプロセスが要求した優先順位変更の完了通知を受信しない可能性があります。
この実装では、 pid で指定するプロセスの現在のスケジュール方針が通常のタイムシェアリング (SCHED_OTHER; POSIX ソースでない場合は SCHED_NORMAL) であるかアイドル方針 (POSIX ソースでない場合は SCHED_IDLE) であるなら、 その動作は、実在するリアルタイム優先順位よりも低い優先順位の SCHED_RR でプロセスが実行されていたかのようになります。
sched_getparam() 関数は、 pid で指定するプロセスのスケジュールパラメータを param が指す sched_param 構造体に入れて返します。
pid で指定するプロセスが存在してかつ、 呼び出し元プロセスにパーミッションがある場合、 プロセス ID が pid に等しいプロセスのスケジュールパラメータを返します。
この実装では、あるプロセスが別のプロセスのスケジュールパラメータを いつ得られるかの方針は、読取りスタイル操作として IEEE Std 1003.1b-93 ("POSIX.1") に詳説されているものです。
pid が 0 の場合、呼び出し元プロセスのスケジュールパラメータを返します。 この実装では、 pid が負の場合、 sched_getparam システムコールは処理に失敗します。
[ENOSYS] | |
システムはこの機能をサポートするように構成されていません。 | |
[EPERM] | |
要求しているプロセスは、 IEEE Std 1003.1b-93 ("POSIX.1") で詳説されているパーミッションを持っていません。 | |
[ESRCH] | |
pid で指定したプロセスに対応するプロセスが見つかりません。 | |
[EINVAL] | |
sched_setparam() で、要求された 1 つ以上のスケジュールパラメータが、指定の pid のスケジュール方針で定義された範囲の外側にあります。 | |
SCHED_SETPARAM (2) | March 12, 1998 |
総合手引 | セクション 2 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | The wonderful thing about standards is that there are so many of them to choose from. | ” |
— Grace Murray Hopper |