veranschaulichen
1. Pipes sind ein häufig verwendetes Mittel zur Multiprozesskommunikation. Pipes werden in unbenannte Pipes und benannte Pipes unterteilt.
2. Unbenannte Pipes können nur für die Kommunikation zwischen verwandten Prozessen verwendet werden, während benannte Pipes für jeden Prozess auf demselben Host verwendet werden können.
Beispiel
$pipe_path = '/data/test.pipe'; if(!file_exists($pipe_path)){ if(!posix_mkfifo($pipe_path,0664)){ exit("Pipe-Fehler erstellen!"); } } $pid = pcntl_fork(); if($pid == 0){ // Untergeordneter Prozess, schreibt Daten in die Pipe $file = fopen($pipe_path,'w'); while (wahr){ fwrite($file,'hello world'); $rand = rand(1,3); schlafen($rand); } exit('child end!'); }anders{ // Übergeordneter Prozess, Daten aus der Pipe lesen $file = fopen($pipe_path,'r'); while (wahr){ $rel = fread($file,20); echo "{$rel}n"; $rand = rand(1,2); schlafen($rand); } }
Das Obige ist eine Einführung in die Pipeline der PHP-Multiprozesskommunikation. Ich hoffe, dass es für alle hilfreich ist.