иллюстрировать
1. Каналы — это широко используемые средства межпроцессного взаимодействия. Каналы делятся на безымянные и именованные каналы.
2. Безымянные каналы можно использовать только для связи между связанными процессами, тогда как именованные каналы можно использовать для любого процесса на одном хосте.
Пример
$pipe_path = '/data/test.pipe'; if(!file_exists($pipe_path)){ if(!posix_mkfifo($pipe_path,0664)){ exit("Ошибка создания канала!"); } } $pid = pcntl_fork(); если($pid == 0){ // Дочерний процесс, записывает данные в канал $file = fopen($pipe_path,'w'); пока (правда){ fwrite($file,'Привет, мир'); $ранд = рандом(1,3); сон($ранд); } выход('дочерний конец!'); }еще{ // Родительский процесс, считываем данные из канала $file = fopen($pipe_path,'r'); пока (правда){ $rel = fread($file,20); эхо "{$rel}n"; $ранд = рандом(1,2); сон($ранд); } }
Вышеупомянутое представляет собой введение в конвейер многопроцессного взаимодействия PHP. Надеюсь, оно будет полезно всем.