PHP pcntl_fork() vs. sleep()
Sziasztok
<?php
function fork($i=0){
$pid=pcntl_fork();
if($pid == -1){
die("fork?\n");
} else if (!$pid){
for($x=1;$x<5;$x++){
echo("$i - $x : gyermek...\n");
sleep(1);
}
}
}
$o=0;
while($o<10){
fork($o++);
if($o==11) die('nem megy a szamolas!');
}
?>
A cél az lenne, hogy a forkolt folyamat forkonként ötször kiírja másodpercenként léptetve a forkolás sorszámát és hogy hányadik kiírásnál tart.
Ehhez képest ezt kapom:
0 - 1 : gyermek...
1 - 1 : gyermek...
2 - 1 : gyermek...
3 - 1 : gyermek...
4 - 1 : gyermek...
5 - 1 : gyermek...
6 - 1 : gyermek...
7 - 1 : gyermek...
8 - 1 : gyermek...
9 - 1 : gyermek...
Ha a sleep()-et kihagyom, úgy fut ahogy kell, viszont én várakoztatni szeretném a lefutást lehetőleg úgy, hogy ne egyen erőforrást és a for ciklus is lefusson rendeltetése szerint.
Van rá valakinek ötlete?
Köszönöm
- Tovább (PHP pcntl_fork() vs. sleep())
- 1030 megtekintés