セマフォ ID を得る

# sem_get

(PHP 4, PHP 5, PHP 7)

sem_get — セマフォ ID を得る

### 説明

sem_get ( int `$key` [, int `$max_acquire` = 1 [, int `$perm` = 0666 [, int `$auto_release` = 1 ]]] ) : resource

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 からそのセマフォにアクセスできなくなります。

### 参考

- sem_acquire() - セマフォを得る
- sem_release() - セマフォを解放する
- ftok() - パス名とプロジェクト ID を、System V IPC キーに変換する