|
父進(jìn)程運(yùn)行完了會(huì)接著運(yùn)行子進(jìn)程,這時(shí)子進(jìn)程會(huì)從執(zhí)行pcntl_fork()的那條語句開始執(zhí)行(包括此函數(shù)),但是此時(shí)它返回的是零(代表這是一個(gè)子進(jìn)程)。在子進(jìn)程的代碼塊中最好有exit語句,即執(zhí)行完子進(jìn)程后立即就結(jié)束。否則它會(huì)又重頭開始執(zhí)行這個(gè)腳本的某些部分(一直沒有總結(jié)出規(guī)矩)。
總之,注意兩點(diǎn):
1。子進(jìn)程最好有一個(gè)exit;語句,防止不必要的出錯(cuò);
2.
復(fù)制代碼 代碼如下:
$pid = pcntl_fork();
//這里最好不要有其他的語句
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
}
php技術(shù):php pcntl_fork和pcntl_fork 的用法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。