(PHP 4, PHP 5, PHP 7)
sem_get — セマフォ ID を得る
$key
[, int $max_acquire
= 1
[, int $perm
= 0666
[, int $auto_release
= 1
]]] )sem_get() は、 System V セマフォを指定したキーでアクセスするために使用可能な ID を返します。
同じキーで sem_get() を 2 度コールした場合、 別のセマフォ ID が返されます。 しかし、どちらの ID も同じそのセマフォをアクセスします。
key
max_acquire
同時にセマフォを得ることが可能なプロセス数を
max_acquire
にセットします。
perm
セマフォのパーミッション。 実際には、この値はプロセスが現在そのセマフォに付随している 唯一のプロセスであることがわかった場合にのみセットされます。
auto_release
リクエストの終了時に自動的にセマフォを開放するかどうかを指定します。
成功した場合に正のセマフォ ID、エラー時には FALSE
を返します。
PHP 以外のところで作られたセマフォに sem_get() でアクセスするときには、 3 つのセマフォのセットとして作ったものでなければいけないことに注意しましょう (たとえば、C の semget() 関数で作るなら、nsems に 3 を指定します)。 そうしないと、PHP からそのセマフォにアクセスできなくなります。