pcntl_wait
int pcntl_wait ( int &$status [, int $options= 0 ] )
Funkcja wstrzymuje wykonanie bieżącego procesu aż do wyjścia dziecka, lub aż do dostarczonego sygnału który zakańcza bieżący proces lub wywołuje obsługę sygnału funkcji.
Funkcja wstrzymuje wykonanie bieżącego procesu aż do wyjścia dziecka, lub aż do dostarczonego sygnału który zakańcza bieżący proces lub wywołuje obsługę sygnału funkcji.
Parametry
- status - będzie przechowywał informacje , które mogą być oceniane za pomocą następujących funkcji pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() i pcntl_wstopsig().
- options - jeśli wait3 jest dostępny w systemie, możesz wprowadzić opcjonaly parametr options.
jeśli nie zostanie on dostarczony, będzie czekać do wywołania systemu.
Jełśi wait3 nie jest dostępny, dostarczaona wartość do options nie wywoła żadnego efektu.
Oto możliwe wartość dla options oprócz zera -
WNOHANG Zwraca natychmiast jeśli wyszło dizecko WUNTRACED Zwraca dla dziecka które jest zatrzymane i któego status nie został zraportoway.
Zwracane wartości
Zwraca ID procesu któe wyszło.
Listing
<?php
declare(ticks = 1);
$max=5;
$child=0;
// funkcja obsługi sygnału
function sig_handler($signo) {
global $child;
switch ($signo) {
case SIGCHLD:
echo "SIGCHLD received\n";
$child--;
}
}
// instalujemy obsługę dla sygnału martwych dzieci
pcntl_signal(SIGCHLD, "sig_handler");
while (1){
$child++;
$pid=pcntl_fork();
if ($pid == -1) {
die("could not fork");
} else if ($pid) {
// mamy rodzica
if ( $child >= $max ){
pcntl_wait($status);
$child++;
}
} else {
//mamy dziecko
echo "\t Uruchamianie nowego dziecka | obecnie mamy $child \n";
// przypuszczalnie robisz coś ciekawego
sleep(rand(3,5));
exit;
}
}
?>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno