- 相關(guān)推薦
PHP擴展程序講解
PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。我們?yōu)榇蠹沂占砹岁P(guān)于PHP擴展程序,以方便大家參考。PHP命令行程序?qū)崿F(xiàn)守護進(jìn)程化有2種方法:
一 、使用nohup 復(fù)制代碼 代碼如下:
nohup php myprog.php > log.txt &
這里就實現(xiàn)了守護進(jìn)程化。單獨執(zhí)行 php myprog.php,當(dāng)按下ctrl+c時就會中斷程序執(zhí)行,會kill當(dāng)前進(jìn)程以及子進(jìn)程。php myprog.php &,這樣執(zhí)行程序雖然也是轉(zhuǎn)為后臺運行,實際上是依賴終端的,當(dāng)用戶退出終端時進(jìn)程就會被殺掉。
二、使用PHP代碼來實現(xiàn)1
30function daemonize()
{
$pid = pcntl_fork();
if ($pid == -1)
{
die("fork(1) failed!n");
}
elseif ($pid > 0)
{
//讓由用戶啟動的進(jìn)程退出
exit(0);
}
//建立一個有別于終端的新session以脫離終端
posix_setsid();
$pid = pcntl_fork();
if ($pid == -1)
{
die("fork(2) failed!n");
}
elseif ($pid > 0)
{
//父進(jìn)程退出, 剩下子進(jìn)程成為最終的獨立進(jìn)程
exit(0);
}
}
daemonize();
sleep(1000);
用上面代碼即可實現(xiàn)守護進(jìn)程化,當(dāng)你的PHP程序需要轉(zhuǎn)為后臺運行時,只需要調(diào)用一次封裝好的函數(shù)daemonize()即可。
注:這里沒有實現(xiàn)標(biāo)準(zhǔn)輸入輸出的重定向。
【PHP擴展程序講解】相關(guān)文章:
PHP PDO的擴展內(nèi)容06-21
php下zmq擴展安裝-207-20
怎么在yaf框架增加php擴展框架07-24
php無限分類方法講解10-06
PHP網(wǎng)絡(luò)操作函數(shù)講解07-23
PHP排序算法類講解07-18
PHP常用魔術(shù)方法講解10-29