青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小默

lighttpd - 1 - watcher 創建并監控 workers

http://bbs.chinaunix.net/viewthread.php?tid=1251434
==================
lighttpd 采用 多進程 的工作模式,watcher 創建 workers 并且監控 workers 的退出。

watcher 循環創建 worker, 子進程 被創建后跳出循環做自己的工作。
當創建夠 子進程 后,父進程 調用 wait() 等待有 子進程退出。
當父進程wait()中收到信號 SIGHUP,通知進程組的所有成員。
當服務器被關閉,父進程kill所有子進程,做清理工作,退出循環。
==================
版本: 1.4.27
<server.c>
=================
/// watcher 創建并監控 workers 工作
#ifdef HAVE_FORK
    /* start watcher and workers */
    num_childs = srv->srvconf.max_worker;   // num_childs,需要創建的 worker 數量
    if (num_childs > 0) {
        int child = 0;      // child 是一個 flag, 為0是watcher(父進程),為1是worker(子進程)
        while (!child && !srv_shutdown && !graceful_shutdown) {     // 如果是父進程,且服務器沒有被關閉
            if (num_childs > 0) { // num_childs>0, fork()創建子進程
                switch (fork()) {
                case -1:
                    return -1;
                case 0:     // 子進程,置child為1。退出循環。
                    child = 1;
                    break;
                default:    // 父進程,孩子數減1
                    num_childs--;
                    break;
                }
            } else {    // num_childs=0, 子進程已經創建完了,父進程wait()等待有子進程退出
                int status;

                if (-1 != wait(&status)) {  // 有子進程退出,num_childs++
                    /**
                     * one of our workers went away
                     */
                    num_childs++;
                } else {    // wait 返回錯誤 (-1)
                    switch (errno) {
                    case EINTR:     // wait()被中斷打斷
                        /**
                         * if we receive a SIGHUP we have to close our logs ourself as we don't
                         * have the mainloop who can help us here
                         */
                        if (handle_sig_hup) {   // 收到 SIGHUP, 關閉日志,通知進程組的所有進程
                            handle_sig_hup = 0;

                            log_error_cycle(srv);

                            /**
                             * forward to all procs in the process-group
                             *
                             * we also send it ourself
                             */
                            if (!forwarded_sig_hup) {
                                forwarded_sig_hup = 1;
                                kill(0, SIGHUP);    // pid=0 通知進程組所有成員
                            }
                        }
                        break;
                    default:
                        break;
                    }
                }
            }
        }

        /**
         * for the parent this is the exit-point
         */
         /// 服務器被關閉。通知進程組所有成員
         /// 父進程只在這時才退出循環
        if (!child) {
            /**
             * kill all children too
             */
            if (graceful_shutdown) {
                kill(0, SIGINT);
            } else if (srv_shutdown) {
                kill(0, SIGTERM);
            }

            // 清理工作
            log_error_close(srv);
            network_close(srv);
            connections_free(srv);
            plugins_free(srv);
            server_free(srv);
            return 0;
        }
    }
#endif

posted on 2010-08-17 00:28 小默 閱讀(510) 評論(0)  編輯 收藏 引用 所屬分類: Network

導航

統計

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久国产精品www| 亚洲经典自拍| 国产精品国产三级国产aⅴ入口 | 在线视频亚洲| 99av国产精品欲麻豆| 亚洲国产精品一区在线观看不卡| 欧美成人综合在线| 欧美激情亚洲| 日韩亚洲欧美成人一区| 亚洲视频1区| 午夜一区二区三区不卡视频| 亚洲女人天堂av| 欧美在线首页| 欧美电影专区| 国产精品白丝jk黑袜喷水| 国产视频久久久久| 亚洲国产精品久久| 一区二区国产精品| 欧美影院成人| 欧美成年人视频网站| 99天天综合性| 久久综合网hezyo| 欧美日韩一区二区三区视频| 国产女精品视频网站免费| 在线看不卡av| 亚洲在线日韩| 欧美大片在线看| 亚洲国产欧美国产综合一区| 亚洲精品1234| 欧美一区二区三区在线播放| 欧美大片免费看| 亚洲视频在线观看一区| 久久一区视频| 国产亚洲永久域名| 在线一区免费观看| 免费日韩成人| 亚洲欧美三级伦理| 欧美成人中文字幕| 国产日本欧美视频| 亚洲一区二区久久| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲午夜精品视频| 亚洲一区一卡| 久久精品视频免费观看| 亚洲在线一区| 日韩亚洲在线观看| 欧美日韩一级片在线观看| 中日韩在线视频| 久久久久久一区| 亚洲黄色精品| 亚洲一区二区在线免费观看| 狂野欧美一区| 美日韩精品免费| 欧美午夜a级限制福利片| 国产精品国产a| 在线电影一区| 欧美v亚洲v综合ⅴ国产v| 亚洲日韩视频| 美女诱惑黄网站一区| 欧美日韩第一区| 99国产麻豆精品| 久久gogo国模裸体人体| 亚洲开发第一视频在线播放| 久久精品欧美日韩| 欧美日韩播放| 亚洲国产欧美日韩精品| 亚洲欧洲三级| 亚洲精品一区二| 欧美午夜精品一区二区三区| 亚洲福利在线观看| 免费日韩av| 在线观看成人网| 一本色道婷婷久久欧美| 亚洲毛片av在线| 国产亚洲一区二区三区| 午夜精品久久久99热福利| 欧美在线首页| 欧美亚洲一区| 欧美日韩亚洲一区二| 亚洲日本在线视频观看| 欧美成人免费网| 欧美ab在线视频| 亚洲免费观看高清完整版在线观看熊| 欧美1区2区3区| 理论片一区二区在线| 亚洲精品1234| 一本久道久久综合婷婷鲸鱼| 欧美日韩视频一区二区三区| 亚洲一区视频在线| 亚洲女人av| 亚洲电影av| 亚洲七七久久综合桃花剧情介绍| 欧美激情久久久久久| 亚洲视频一起| 性欧美xxxx大乳国产app| 黄色综合网站| 日韩午夜精品视频| 亚洲国产精品激情在线观看| 欧美日韩一级黄| 久久久久久高潮国产精品视| 久久久久久久性| 一区二区三区www| 性色av一区二区三区红粉影视| 亚洲二区免费| 一区二区免费在线播放| 激情成人综合网| 亚洲精品日本| 国产亚洲在线观看| 夜夜嗨av一区二区三区四季av| 国产综合色产在线精品| 日韩视频在线观看免费| 一区二区视频免费完整版观看| 亚洲日韩欧美视频一区| 韩国免费一区| 亚洲午夜羞羞片| 日韩亚洲欧美一区二区三区| 欧美一区二区三区免费在线看| 91久久精品一区| 欧美亚洲视频| 亚洲免费影视第一页| 久久久久久国产精品mv| 亚洲综合精品一区二区| 欧美成人性生活| 麻豆成人在线播放| 国产精品美女一区二区在线观看 | 欧美日本高清| 久久久久久色| 国产精品久久二区二区| 最新日韩av| 亚洲黄色一区| 麻豆免费精品视频| 久久伊伊香蕉| 夜夜嗨av一区二区三区四季av| 亚洲高清不卡在线| 久久久久久精| 久久这里只有精品视频首页| 国产精品揄拍一区二区| 亚洲午夜在线视频| 亚洲在线成人| 久久久综合香蕉尹人综合网| 久久久久久久综合日本| 亚洲欧美日韩综合国产aⅴ| 欧美精品色综合| 亚洲国产视频a| 日韩午夜电影av| 国产日韩欧美一区二区三区在线观看 | 欧美国产在线电影| 亚洲综合日韩| 亚洲一区999| 亚洲第一黄色| 亚洲成人影音| 野花国产精品入口| 亚洲视频观看| 一本久道久久综合狠狠爱| 亚洲久色影视| 亚洲最新在线| 亚洲午夜久久久久久尤物| 夜夜嗨av一区二区三区中文字幕| 国产乱人伦精品一区二区| 欧美性开放视频| 亚洲激情在线视频| 亚洲五月婷婷| 亚洲三级视频| 久久精品五月婷婷| 国产麻豆精品theporn| 国产日韩一区二区| 欧美专区在线观看| 女女同性女同一区二区三区91| 亚洲精品视频免费观看| 亚洲一区二区免费视频| 国产精品一级久久久| 性色av一区二区三区| 欧美黄色网络| 亚洲一区二区三区高清不卡| 国产美女诱惑一区二区| 久久男人资源视频| 亚洲精选91| 欧美在线视频导航| 老**午夜毛片一区二区三区| 欧美日韩国产美| 狠狠色狠狠色综合人人| 久久久久久久久伊人| 欧美一区二区黄| 亚洲国产精品va在线看黑人| 久久精品在线观看| 亚洲国产综合视频在线观看| 亚洲精品视频中文字幕| 欧美成年人网站| 久久综合狠狠综合久久综合88| 国内精品久久久| 欧美电影免费观看高清完整版 | 欧美激情a∨在线视频播放| 欧美全黄视频| 这里只有精品电影| 亚洲视频狠狠| 午夜免费电影一区在线观看| 国产日韩欧美精品| 亚洲欧美www| 亚洲五月六月| 经典三级久久|