PHP創(chuàng)建單例后臺進程的方法示例
本文實例講述了PHP創(chuàng)建單例后臺進程的方法。分享給大家供大家參考,具體如下:
可以通過如下語句啟動一個PHP后臺進程:
$command = " php script.php ";
$pid = exec("nohup $command > /dev/null 2>&1 & echo $!");
nohup表示這個進程獨立于創(chuàng)建的用戶,可以以守護方式運行。
如果需要這個后臺進程是單例運行的,那么可以通過下面的方法來記錄/判斷進程是否已運行
//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寫入文件,但如果在一個分布式任務環(huán)境中,則放在數(shù)據(jù)庫中要更好
停止一個后臺進程:
//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)容感興趣的讀者可查看本站專題:《PHP進程與線程操作技巧總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
WordPress開發(fā)中用于獲取近期文章的PHP函數(shù)使用解析
這篇文章主要介紹了WordPress開發(fā)中用于獲取近期文章的PHP函數(shù)使用解析,即對wp_get_recent_posts函數(shù)的使用方法介紹,需要的朋友可以參考下2016-01-01
php站內(nèi)搜索關(guān)鍵詞變亮的實現(xiàn)方法
這篇文章主要介紹了php站內(nèi)搜索關(guān)鍵詞變亮的實現(xiàn)方法,以實例形式較為詳細的分析了數(shù)據(jù)庫表的創(chuàng)建及針對數(shù)據(jù)庫的搜索關(guān)鍵字高亮的實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下2014-12-12
php回調(diào)函數(shù)處理數(shù)組操作示例
這篇文章主要介紹了php回調(diào)函數(shù)處理數(shù)組操作,結(jié)合實例形式詳細分析了PHP回調(diào)函數(shù)遍歷與過濾數(shù)組相關(guān)操作技巧與注意事項,需要的朋友可以參考下2020-04-04

