waitpid PID,FLAGS
Laukia tam tikro vaikinio proceso, kad jį nutraukti ir gražina nutraukto proceso pid arba -1
, jei nėra tokio vaikinio proceso. Kai kuriose sistemose, reikšmė 0 parodo, kad vis dar yra veikiančių procesų. Būsena gražinama $?
. Jei sakoma
use POSIX ":sys_wait_h";
#...
do {
$kid = waitpid(-1, WNOHANG);
} until $kid > 0;
, tai galima padaryti neblokuojamą laukimą visiems neišspręstiems zombiniams procesams. Neblokuojamas laukimas yra galimas kompiuteriuose, palikančiuose arba waitpid(2), arba wait4(2) sisteminisu kvietimus. Visig, tam tikro pid laukimas su FLAGS 0
yra realizuotas visur. (Perl emuliuoja sisteminį kvietimą prisimindamas procesų būsenos reikšmes, kurios išsijungė, bet dar nebuvo surinktos Perl skripto.)
Įsidėmėkite, kad kai kuriose sistemose, gražinama -1
reikšmė galėtų reikšti, jog vaikinis procesas automatiškai nužudomas. Žr. perlipc dėl detalių ir kitų pavyzdžių.