PRCTL(2)

名前
prctl - プロセスの操作を行なう

書式
#include <linux/prctl.h>

int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5);

説明
prctl の動作は最初の引き数によって決定される。(この値は <linux/prctl.h> に定義されている。) 残りのパラメータは 最初のものに依存して変化する。現在定義されている値は PR_SET_PDEATHSIG のみである。このオプションは親プロセスが死んだ場合に、 arg2 に指定したシグナルを送って知らせるように設定する(シグナルの 範囲は 1..maxsig であり、0 で解除する。) シグナルは親が死んだ時にこのシステム・コールを行なったプロセスに 送られる。この値は fork() によって解除される。

返り値
成功すればゼロが返される。エラーの場合は -1 が返され、 errno に適切な値が設定される。

エラー

EINVAL
    option の値が理解できない。または option が PR_SET_PDEATHSIG で arg2 が 0 でもシグナル番号でもない。

準拠
このコールは Linux 特有である。 IRIX は prctl システム・コールを持ち(MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入された)、 そのプロトタイプは

ptrdiff_t prctl(int option, int arg2, int arg3);

である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用できる最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させられているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行なうオプションなどがある。

利用可能な環境
prctl() システムコールは Linux 2.1.57 で導入された。 しかし prctl() ライブラリ・コールはまだ存在しない。

関連項目
signal(2)