
説明する
1. パイプは、マルチプロセス通信の一般的に使用される手段であり、名前なしパイプと名前付きパイプに分けられます。
2. 名前なしパイプは関連するプロセス間の通信にのみ使用できますが、名前付きパイプは同じホスト上の任意のプロセスに使用できます。
例
$pipe_path = '/data/test.pipe';
if(!file_exists($pipe_path)){
if(!posix_mkfifo($pipe_path,0664)){
exit("パイプ作成エラー!");
}
}
$pid = pcntl_fork();
if($pid == 0){
// 子プロセス、データをパイプに書き込みます $file = fopen($pipe_path,'w');
一方 (true){
fwrite($file,'hello world');
$rand = rand(1,3);
スリープ($rand);
}
exit('子終了!');
}それ以外{
// 親プロセス、パイプからデータを読み取ります $file = fopen($pipe_path,'r');
一方 (true){
$rel = fread($file,20);
エコー "{$rel}n";
$rand = rand(1,2);
スリープ($rand);
}
}以上がPHPマルチプロセス通信のパイプラインの紹介でしたので、皆様のお役に立てれば幸いです。