最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP信號(hào)處理機(jī)制的操作代碼講解

 更新時(shí)間:2019年04月19日 08:36:41   投稿:laozhang  
在本篇文章里小編給大家分享了關(guān)于PHP信號(hào)處理機(jī)制的操作的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。

我們首先來看下實(shí)例代碼:

function sig_handler($sig)

{

  print("handled sig: $sig\n");

}

 

 

 

pcntl_signal(SIGIO,  "sig_handler");

posix_kill(posix_getpid(),SIGIO);

 

while(true)

{

  posix_kill(posix_getpid(),SIGIO);

 

  pcntl_signal_dispatch();

 

  sleep(1);

}

最好自己手動(dòng)循環(huán)處理信號(hào)隊(duì)列,而不是使用php提供的的declare(ticks=1),tick_handler()這種信號(hào)處理機(jī)制,因?yàn)閠ick機(jī)制的性能問題,每執(zhí)行一條語句都回調(diào)tick_handler查看是否有信號(hào),而很大部分時(shí)間是沒有信號(hào)的。

posix_signal設(shè)置信號(hào)的回調(diào)處理,

posix_kill僅僅是把信號(hào)放入進(jìn)程的信號(hào)待處理隊(duì)列中,所有并不會(huì)觸發(fā)信號(hào)回調(diào),由pcntl_signal_dispatch處理信號(hào)隊(duì)列中的信號(hào)

posix_getpwnam("nginx"):獲取用戶名的uid,gid等信息

pcntl_signal(SIGPIPE, SIG_IGN, false):忽略內(nèi)核發(fā)來的SIGPIPE信號(hào),當(dāng)連接已closed,進(jìn)程繼續(xù)發(fā)數(shù)據(jù)到無效socket,系統(tǒng)會(huì)收到含RST 控制位TCP包,系統(tǒng)會(huì)發(fā)出一個(gè)SIGPIPE信號(hào)給進(jìn)程,告訴進(jìn)程這個(gè)連接已經(jīng)斷開了,不要再寫了。該信號(hào)的默認(rèn)處理是終止進(jìn)程,進(jìn)程可以捕獲它并忽略該信號(hào)以免不情愿的被終止。

socket上下文選項(xiàng):

backlog:用于限制流監(jiān)聽隊(duì)列中未完成連接的連接數(shù)量

so_reuseport:重用端口(由內(nèi)核調(diào)度連接到多個(gè)監(jiān)聽同一個(gè)端口的進(jìn)程,由于是通過hash方式來標(biāo)志連接對(duì)應(yīng)的進(jìn)程,所以監(jiān)聽進(jìn)程數(shù)是不能改變的,)

定時(shí)器信號(hào)處理

pcntl_signal(SIGALRM,"sig_handler");

pcntl_alarm(2);

function sig_handler($sig)

{

  echo "one second after";

}

while (1)

{

  pcntl_signal_dispatch();

  sleep(1);

}

相關(guān)文章

  • php curl選項(xiàng)列表(超詳細(xì))

    php curl選項(xiàng)列表(超詳細(xì))

    本篇文章是對(duì)php中的curl選項(xiàng)列表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • 在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的運(yùn)行環(huán)境

    在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的運(yùn)行環(huán)境

    這篇文章主要介紹了在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的運(yùn)行環(huán)境,需要的朋友可以參考下
    2016-04-04
  • FirePHP 推薦一款PHP調(diào)試工具

    FirePHP 推薦一款PHP調(diào)試工具

    PHP調(diào)試有很多中方法。今天給大家推薦的是 FirePHP 這個(gè)工具,是基于firefox的一個(gè)組件。Firephp組件安裝地址。使用之前需要先安裝下這個(gè)組件。完了還需要down一個(gè)FirePHP的包。
    2011-04-04
  • php去除重復(fù)字的實(shí)現(xiàn)代碼

    php去除重復(fù)字的實(shí)現(xiàn)代碼

    php去除重復(fù)字的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2011-09-09
  • PHP郵件發(fā)送類PHPMailer用法實(shí)例詳解

    PHP郵件發(fā)送類PHPMailer用法實(shí)例詳解

    這篇文章主要介紹了PHP郵件發(fā)送類PHPMailer用法,詳細(xì)的講述了安裝及配置的方法與功能實(shí)現(xiàn)代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-09-09
  • php JWT在web端中的使用方法教程

    php JWT在web端中的使用方法教程

    這篇文章主要給大家介紹了關(guān)于php JWT在web端中的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • php中cookie實(shí)現(xiàn)二級(jí)域名可訪問操作的方法

    php中cookie實(shí)現(xiàn)二級(jí)域名可訪問操作的方法

    這篇文章主要介紹了php中cookie實(shí)現(xiàn)二級(jí)域名可訪問操作的方法,對(duì)比了常用的setcookie函數(shù)用法,并給出了一個(gè)設(shè)置cookie的類文件來實(shí)現(xiàn)這一功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • PHP中如何使用Redis接管文件存儲(chǔ)Session詳解

    PHP中如何使用Redis接管文件存儲(chǔ)Session詳解

    這篇文章主要給大家介紹了關(guān)于在PHP中如何使用Redis接管文件存儲(chǔ)Session的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • PHP中__FILE__、dirname與basename用法實(shí)例分析

    PHP中__FILE__、dirname與basename用法實(shí)例分析

    這篇文章主要介紹了PHP中__FILE__、dirname與basename用法,以實(shí)例形式較為詳細(xì)的分析了__FILE__、dirname與basename的具體用法,并測(cè)試對(duì)比了WordPress中自帶的函數(shù),需要的朋友可以參考下
    2014-12-12
  • 淺析php中抽象類和接口的概念以及區(qū)別

    淺析php中抽象類和接口的概念以及區(qū)別

    本篇文章是對(duì)php中抽象類和接口的概念以及區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論

鹤山市| 正定县| 堆龙德庆县| 宁安市| 曲阳县| 宁蒗| 宜都市| 东至县| 大同市| 遵义县| 东乡县| 卓尼县| 陕西省| 亚东县| 儋州市| 盈江县| 宝应县| 大荔县| 罗城| 宾阳县| 沧源| 图木舒克市| 繁峙县| 互助| 白玉县| 蒙山县| 盐城市| 杭锦后旗| 白河县| 德令哈市| 同心县| 于都县| 青河县| 卫辉市| 清流县| 衡水市| 塔河县| 钟祥市| 宁海县| 奉新县| 罗江县|