欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP程序守護(hù)進(jìn)程化實(shí)現(xiàn)方法詳解

 更新時(shí)間:2020年07月16日 15:22:36   作者:網(wǎng)絡(luò)蟲  
這篇文章主要介紹了PHP程序守護(hù)進(jìn)程化實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一般Server程序都是運(yùn)行在系統(tǒng)后臺(tái),這與普通的交互式命令行程序有很大的區(qū)別。glibc里有一個(gè)函數(shù)daemon。調(diào)用此函數(shù),就可使當(dāng)前進(jìn)程脫離終端變成一個(gè)守護(hù)進(jìn)程,具體內(nèi)容參見man daemon。PHP中暫時(shí)沒有此函數(shù),當(dāng)然如果你有興趣的話,可以寫一個(gè)PHP的擴(kuò)展函數(shù)來實(shí)現(xiàn)。

PHP命令行程序?qū)崿F(xiàn)守護(hù)進(jìn)程化有2種方法:

一 、使用nohup

nohup php myprog.php > log.txt &

這里就實(shí)現(xiàn)了守護(hù)進(jìn)程化。

單獨(dú)執(zhí)行 php myprog.php,當(dāng)按下ctrl+c時(shí)就會(huì)中斷程序執(zhí)行,會(huì)kill當(dāng)前進(jìn)程以及子進(jìn)程。

php myprog.php &,這樣執(zhí)行程序雖然也是轉(zhuǎn)為后臺(tái)運(yùn)行,實(shí)際上是依賴終端的,當(dāng)用戶退出終端時(shí)進(jìn)程就會(huì)被殺掉。

二、使用PHP代碼來實(shí)現(xiàn)

function daemonize() {
  $pid = pcntl_fork();
  if ($pid == -1) {
    die("fork(1) failed!\n");
  }
  elseif($pid > 0) {
    //讓由用戶啟動(dòng)的進(jìn)程退出
    exit(0);
  }

  //建立一個(gè)有別于終端的新session以脫離終端
  posix_setsid();

  $pid = pcntl_fork();
  if ($pid == -1) {
    die("fork(2) failed!\n");
  }
  elseif($pid > 0) {
    //父進(jìn)程退出, 剩下子進(jìn)程成為最終的獨(dú)立進(jìn)程
    exit(0);
  }
}
daemonize();
sleep(1000);

用上面代碼即可實(shí)現(xiàn)守護(hù)進(jìn)程化,當(dāng)你的PHP程序需要轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),只需要調(diào)用一次封裝好的函數(shù)daemonize()即可。
注:這里沒有實(shí)現(xiàn)標(biāo)準(zhǔn)輸入輸出的重定向。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • php數(shù)組函數(shù)array_key_exists()小結(jié)

    php數(shù)組函數(shù)array_key_exists()小結(jié)

    本文給大家匯總介紹了php數(shù)組函數(shù)array_key_exists()的相關(guān)知識(shí)以及與in_array的性能對(duì)比,與isset的區(qū)別分析,非常的詳細(xì),有需要的小伙伴可以參考下。
    2015-12-12
  • php根據(jù)指定位置和長度獲得子字符串的方法

    php根據(jù)指定位置和長度獲得子字符串的方法

    這篇文章主要介紹了php根據(jù)指定位置和長度獲得子字符串的方法,涉及php中substr函數(shù)的使用技巧,需要的朋友可以參考下
    2015-03-03
  • PHP 實(shí)現(xiàn)多服務(wù)器共享 SESSION 數(shù)據(jù)

    PHP 實(shí)現(xiàn)多服務(wù)器共享 SESSION 數(shù)據(jù)

    稍大一些的網(wǎng)站,通常都會(huì)有好幾個(gè)服務(wù)器,每個(gè)服務(wù)器運(yùn)行著不同功能的模塊,使用不同的二級(jí)域名,而一個(gè)整體性強(qiáng)的網(wǎng)站,用戶系統(tǒng)是統(tǒng)一的,即一套用戶名、密碼在整個(gè)網(wǎng)站的各個(gè)模塊中都是可以登錄使用的。
    2009-08-08
  • PHP調(diào)用外部程序的方法解析

    PHP調(diào)用外部程序的方法解析

    這篇文章主要介紹了PHP調(diào)用外部程序的方法解析,對(duì)此感興趣的同學(xué),可以多研究一下
    2021-04-04
  • header與緩沖區(qū)之間的深層次分析

    header與緩沖區(qū)之間的深層次分析

    實(shí)際的開發(fā)中,大家是否聽說過在header之前不能有任何的實(shí)際輸出。甚至有的認(rèn)為header函數(shù)必須寫在代碼的最前面??墒悄闶欠裨囼?yàn)過header函數(shù)之前輸出東西?下來讓我們更深層次的了解一下
    2016-07-07
  • WampServer下安裝多個(gè)版本的PHP、mysql、apache圖文教程

    WampServer下安裝多個(gè)版本的PHP、mysql、apache圖文教程

    這篇文章主要介紹了WampServer下安裝多個(gè)版本的PHP、mysql、apache圖文教程,需要的朋友可以參考下
    2015-01-01
  • 利用php下載xls文件(自己動(dòng)手寫的)

    利用php下載xls文件(自己動(dòng)手寫的)

    如何利用php實(shí)現(xiàn)下載xls文件。根據(jù)ECSHOP的源碼,自己動(dòng)手實(shí)現(xiàn)了一下,下面將成功實(shí)現(xiàn)的實(shí)例與大家分享下
    2014-04-04
  • PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略概述

    PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略概述

    這篇文章主要介紹了PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略,簡單講述了mysql優(yōu)化的簡單技巧以及索引優(yōu)化、查詢優(yōu)化、存儲(chǔ)優(yōu)化等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • PHP編程過程中需要了解的this,self,parent的區(qū)別

    PHP編程過程中需要了解的this,self,parent的區(qū)別

    this是指向?qū)ο髮?shí)例的一個(gè)指針,在實(shí)例化的時(shí)候來確定指向;self是對(duì)類本身的一個(gè)引用,一般用來指向類中的靜態(tài)變量;parent是對(duì)父類的引用,一般使用parent來調(diào)用父類的構(gòu)造函數(shù)。
    2009-12-12
  • php mysqli查詢語句返回值類型實(shí)例分析

    php mysqli查詢語句返回值類型實(shí)例分析

    這篇文章主要介紹了php mysqli查詢語句返回值類型,結(jié)合實(shí)例形式分析了php+mysqli常用的查詢、插入語句的使用與返回值類型,需要的朋友可以參考下
    2016-06-06

最新評(píng)論