getmypid

関数の概要

PHPの getmypid 関数は、現在実行中のスクリプトのプロセスID(プロセス識別子)を取得するための関数です。プロセスIDは、オペレーティングシステム上で動作する各プロセスに割り当てられる一意の番号で、主にデバッグやプロセスマネージメントで役立ちます。

パラメータの説明

  • パラメータなし
    この関数は引数を取らず、単純に現在のプロセスIDを返します。

戻り値

getmypid は整数値のプロセスIDを返します。何らかの理由でプロセスIDを取得できない場合は false を返すこともありますが、通常は現在のプロセスIDが返されます。

使用例

基本的な使い方

<?php
// 現在のプロセスIDを取得して表示
echo '現在のプロセスID: ' . getmypid();
?>

この例では、単純に現在のPHPスクリプトが動作しているプロセスのIDを画面に表示しています。

プロセスIDを利用したログファイル名の生成

<?php
$pid = getmypid();
$logFile = "log_{$pid}.txt";
file_put_contents($logFile, "ログ開始: " . date('Y-m-d H:i:s') . "n", FILE_APPEND);
?>

複数のプロセスで同時に動作する場合に、それぞれのログをプロセスIDで分けて管理したいときに役立ちます。

プロセスIDを使ったプロセス同士の識別

<?php
$pid = getmypid();
if ($pid === some_other_pid()) {
    echo '同じプロセスです';
} else {
    echo '別のプロセスです';
}
?>

複数のプロセス間で識別や通信を行うプログラムで、プロセスIDの比較に使えます。

関連する関数

  • posix_getpid() – POSIX準拠システムで現在のプロセスIDを取得する
  • getmyuid() – 現在のプロセスのユーザーIDを取得する
  • getmygid() – 現在のプロセスのグループIDを取得する

まとめ

getmypid はPHPで簡単に現在のプロセスIDを取得できる便利な関数です。プロセスの管理やログの識別など、マルチプロセス環境で役立ちます。引数が不要で使いやすく、実務でもプロセス識別が必要な場合に活用できます。関連するPOSIX系関数と合わせて覚えておくと便利でしょう。