<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## :-: 進程守護 進程守護我們這里使用的是[supervisor](http://supervisord.org/),是一個使用python編寫的工具。 CentOS下面安裝很簡單: ``` yum install supervisor ``` 等待安裝完成后,編寫啟動文件 目錄:/etc/supervisord.d 在此目錄下面新建一個配置文件:caiji.ini ``` #項目名 [program:caiji] #進程名稱 process_name=%(program_name)s #啟動的進程數量 numprocs=1 #腳本目錄 directory=/mnt/hgfs/WWW/caiji #腳本執行命令(完整php路徑) command=/www/server/php/72/bin/php think caiji #supervisor啟動的時候是否隨著同時啟動,默認True autostart=true #當程序exit的時候,這個program不會自動重啟,默認unexpected #設置子進程掛掉后自動重啟的情況,有三個選項,false,unexpected和true。如果為false的時候,無論什么情況下,都不會被重新啟動,如果為unexpected,只有當進程的退出碼不在下面的exitcodes里面定義的 autorestart=true #這個選項是子進程啟動多少秒之后,此時狀態如果是running,則我們認為啟動成功了。默認值為1 startsecs=1 #日志輸出 stderr_logfile=/mnt/hgfs/WWW/caiji/runtime/supervisor/caiji_stderr.log stdout_logfile=/mnt/hgfs/WWW/caiji/runtime/supervisor/caiji_stdout.log #腳本運行的用戶身份 user = root #把 stderr 重定向到 stdout,默認 false redirect_stderr = true #stdout 日志文件大小,默認 50MB stdout_logfile_maxbytes = 20MB #stdout 日志文件備份數 stdout_logfile_backups = 20 ``` supervisor 的init.d文件: /etc/init.d/supervisor ``` #!/bin/bash # # supervisord This scripts turns supervisord on # # Author: Mike McGrath <mmcgrath@redhat.com> (based off yumupdatesd) # # chkconfig: - 95 04 # # description: supervisor is a process control utility. It has a web based # xmlrpc interface as well as a few other nifty features. # processname: supervisord # config: /etc/supervisord.conf # pidfile: /var/run/supervisord.pid # # source function library . /etc/rc.d/init.d/functions RETVAL=0 start() { echo -n $"Starting supervisord: " daemon "supervisord -c /etc/supervisord.conf " RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord } stop() { echo -n $"Stopping supervisord: " killproc supervisord echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/supervisord } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart|force-reload|reload) restart ;; condrestart) [ -f /var/lock/subsys/supervisord ] && restart ;; status) status supervisord RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" exit 1 esac exit $RETVAL ``` 相關命令: ``` service supervisor start|stop|restart supervisorctl start|stop|restart|reload 進程名稱 supervisorctl status 查看狀態 ``` <blockquote class="danger"> <p>init.d里面的文件記錄給權限,不然沒發啟動</p> <p>supervisor的日志輸出文件如果報錯,就手動在對應目錄創建空文件</p> </blockquote>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看