illustrer
1. Les tuyaux sont un moyen couramment utilisé de communication multi-processus. Les tuyaux sont divisés en tuyaux sans nom et en tuyaux nommés.
2. Les canaux sans nom ne peuvent être utilisés que pour la communication entre des processus liés, tandis que les canaux nommés peuvent être utilisés pour n'importe quel processus sur le même hôte.
Exemple
$pipe_path = '/data/test.pipe'; if(!file_exists($pipe_path)){ si(!posix_mkfifo($pipe_path,0664)){ exit("erreur de création de canal!"); } } $pid = pcntl_fork(); si($pid == 0){ // Processus enfant, écrit les données dans le tube $file = fopen($pipe_path,'w'); tandis que (vrai){ fwrite ($ fichier, 'bonjour tout le monde'); $rand = rand(1,3); dormir($rand); } exit('fin enfant !'); }autre{ // Processus parent, lit les données du tube $file = fopen($pipe_path,'r'); tandis que (vrai){ $rel = fread($fichier,20); echo "{$rel}n" ; $rand = rand(1,2); dormir($rand); } }
Ce qui précède est une introduction au pipeline de communication multi-processus PHP. J'espère que cela sera utile à tout le monde.