ilustrar
1. Las canalizaciones son un medio de comunicación multiproceso de uso común. Las canalizaciones se dividen en canalizaciones sin nombre y canalizaciones con nombre.
2. Las canalizaciones sin nombre solo se pueden utilizar para la comunicación entre procesos relacionados, mientras que las canalizaciones con nombre se pueden utilizar para cualquier proceso en el mismo host.
Ejemplo
$pipe_path = '/datos/test.pipe'; si(!file_exists($pipe_path)){ si(!posix_mkfifo($pipe_path,0664)){ exit("¡crear error de tubería!"); } } $pid = pcntl_fork(); si($pid == 0){ // Proceso hijo, escribe datos en la tubería $file = fopen($pipe_path,'w'); mientras (verdadero){ fwrite($archivo,'hola mundo'); $rand = rand(1,3); dormir ($ rand); } salir('¡fin del niño!'); }demás{ // Proceso principal, lee datos de la tubería $file = fopen($pipe_path,'r'); mientras (verdadero){ $rel = fread($archivo,20); eco "{$rel}n"; $rand = rand(1,2); dormir ($ rand); } }
Lo anterior es una introducción al canal de comunicación multiproceso PHP. Espero que sea útil para todos.