PHP創(chuàng)建單例后臺(tái)進(jìn)程的方法示例
本文實(shí)例講述了PHP創(chuàng)建單例后臺(tái)進(jìn)程的方法。分享給大家供大家參考,具體如下:
可以通過(guò)如下語(yǔ)句啟動(dòng)一個(gè)PHP后臺(tái)進(jìn)程:
$command = " php script.php ";
$pid = exec("nohup $command > /dev/null 2>&1 & echo $!");
nohup表示這個(gè)進(jìn)程獨(dú)立于創(chuàng)建的用戶(hù),可以以守護(hù)方式運(yùn)行。
如果需要這個(gè)后臺(tái)進(jìn)程是單例運(yùn)行的,那么可以通過(guò)下面的方法來(lái)記錄/判斷進(jìn)程是否已運(yùn)行
//query the database for process id
$query = "SELECT pid FROM `daemons` WHERE `pid` = '2013' LIMIT 1";
$result = mysql_query($query);
$pid = mysql_result($result, 0, 'pid');
//check if the process is running
exec("ps $pid", $pState);
if((count($pState) >= 2) && !empty($pid))
{
echo "RUNNING";
}
else
{
echo "INACTIVE";
}
也可以把pid寫(xiě)入文件,但如果在一個(gè)分布式任務(wù)環(huán)境中,則放在數(shù)據(jù)庫(kù)中要更好
停止一個(gè)后臺(tái)進(jìn)程:
//check if the process from the database is running
exec("ps $pid", $pState);
if((count($pState) >= 2))
{
//if the process is running, kill it
exec("kill $pid");
//update database row with an empty process id
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP進(jìn)程與線程操作技巧總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 深入解析PHP中的(偽)多線程與多進(jìn)程
- PHP多進(jìn)程編程實(shí)例
- 深入探究PHP的多進(jìn)程編程方法
- PHP下操作Linux消息隊(duì)列完成進(jìn)程間通信的方法
- PHP高級(jí)編程實(shí)例:編寫(xiě)守護(hù)進(jìn)程
- PHP輸出當(dāng)前進(jìn)程所有變量/常量/模塊/函數(shù)/類(lèi)的示例
- php的POSIX 函數(shù)以及進(jìn)程測(cè)試的深入分析
- PHP COOKIE設(shè)置為瀏覽器進(jìn)程
- PHP中實(shí)現(xiàn)進(jìn)程間通訊
- 解析PHP實(shí)現(xiàn)多進(jìn)程并行執(zhí)行腳本
相關(guān)文章
php的sso單點(diǎn)登錄實(shí)現(xiàn)方法
這篇文章主要介紹了php的sso單點(diǎn)登錄實(shí)現(xiàn)方法,實(shí)例分析了sso單點(diǎn)登錄的原理與具體實(shí)施步驟,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
WordPress開(kāi)發(fā)中用于獲取近期文章的PHP函數(shù)使用解析
這篇文章主要介紹了WordPress開(kāi)發(fā)中用于獲取近期文章的PHP函數(shù)使用解析,即對(duì)wp_get_recent_posts函數(shù)的使用方法介紹,需要的朋友可以參考下2016-01-01
php站內(nèi)搜索關(guān)鍵詞變亮的實(shí)現(xiàn)方法
這篇文章主要介紹了php站內(nèi)搜索關(guān)鍵詞變亮的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了數(shù)據(jù)庫(kù)表的創(chuàng)建及針對(duì)數(shù)據(jù)庫(kù)的搜索關(guān)鍵字高亮的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
PHP實(shí)現(xiàn)適用于文件內(nèi)容操作的分頁(yè)類(lèi)
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)適用于文件內(nèi)容操作的分頁(yè)類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
php回調(diào)函數(shù)處理數(shù)組操作示例
這篇文章主要介紹了php回調(diào)函數(shù)處理數(shù)組操作,結(jié)合實(shí)例形式詳細(xì)分析了PHP回調(diào)函數(shù)遍歷與過(guò)濾數(shù)組相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-04-04

