[Linux] PHP程式員玩轉Linux系列-使用supervisor實現守護進程

來源:互聯網
上載者:User

標籤:std   post   分享   sys   super   基礎   ftp   index   啟動   

1.PHP程式員玩轉Linux系列-怎麼安裝使用CentOS

2.PHP程式員玩轉Linux系列-lnmp環境的搭建

3.PHP程式員玩轉Linux系列-搭建FTP代碼開發環境

4.PHP程式員玩轉Linux系列-備份還原MySQL

5.PHP程式員玩轉Linux系列-自動備份與SVN

6.PHP程式員玩轉Linux系列-Linux和Windows安裝nginx

7.PHP程式員玩轉Linux系列-nginx初學者引導

8.PHP程式員玩轉Linux系列-Nginx中的HTTPS

 

首先遇到的問題是,部署nodejs的部落格程式時,我把執行nodejs的命令放到後台,使用加&和nohup命令

如:nodejs index.js & 或者 nohup nodejs index.js &

&這個使用是當退出此次終端會話的時候就會停止, nohup這個命令理論上是可以後台一直執行的,但是當出現某些異常的時候,還是會退出.

 

進程的基礎概念

進程是執行程式的過程.unix系統的老祖宗核心進程的ppid都是是0,比如:init進程的pid是1,ppid是0;其他進程都是從init進程的基礎上fork出來的,使用pstree命令可以看到進程樹

測試使用&實現一個後台進程,並把後台進程再轉回到前台,下面是把進程放到後台,[1]這個是job的號

ping baidu.com > xx.txt & 

把後台進程重新轉到前台,%1的那個數字就是上面的job號

fg %1

 

如何使用nohup這個命令 

nohup命令,這個命令是使進程忽略SIGHUP掛起(hangup)訊號,測試如下:

nohup ping baidu.com > xx.txt &

進程訊號如下:

01 SIGHUP 掛起(hangup)02 SIGINT 中斷,當使用者從鍵盤按^c鍵或^break鍵時03 SIGQUIT 退出,當使用者從鍵盤按quit鍵時04 SIGILL 非法指令05 SIGTRAP 跟蹤陷阱(trace trap),啟動進程,跟蹤代碼的執行06 SIGIOT IOT指令07 SIGEMT EMT指令08 SIGFPE 浮點運算溢出09 SIGKILL 殺死、終止進程 10 SIGBUS 匯流排錯誤11 SIGSEGV 段違例(segmentation  violation),進程試圖去訪問其虛地址空間以外的位置12 SIGSYS 系統調用中參數錯,如系統調用號非法13 SIGPIPE 向某個非讀管道中寫入資料14 SIGALRM 鬧鐘。當某進程希望在某時間後接收訊號時發此訊號15 SIGTERM 軟體終止(software  termination)16 SIGUSR1 使用者自訂訊號117 SIGUSR2 使用者自訂訊號218 SIGCLD 某個子進程死19 SIGPWR 電源故障

  

 

使用supervisor實現守護進程

守護進程,就是一直啟動並執行收存周期很長的進程.使用supervisor可以實現這樣的進程,該進程並且會在被殺掉的時候自動再次重啟.

#安裝supervisoryum install supervisor

在設定檔(/etc/supervisord.conf)配置一下:

program:nodejsblog 這裡:後面的是個名字,可以隨便起
command= 這裡是要執行的命令
user= 這裡是執行使用者

[program:nodejsblog]command=/usr/bin/nodejs /var/www/html/nblog index.js user=root

開啟 supervisord -c /etc/supervisord.conf  

此時nodejs的守護進程也會隨著啟動了可以使用ps命令去查看一下,並且在你kill該進程的時候,會自動重啟.

例如我這個例子中測試部署的nodejs網站http://nblog.qingguow.cn

與此相關的博文:

[nodejs] nodejs開發個人部落格(七)後台登陸 陶士涵 2016-03-17 23:01 閱讀:1002 評論:0   [nodejs] nodejs開發個人部落格(六)資料分頁 陶士涵 2016-03-13 22:59 閱讀:348 評論:0   [nodejs] nodejs開發個人部落格(五)分配資料 陶士涵 2016-03-12 00:16 閱讀:88 評論:0   [nodejs] nodejs開發個人部落格(四)資料模型 陶士涵 2016-03-09 22:51 閱讀:98 評論:0   [nodejs] nodejs開發個人部落格(三)載入頁面 陶士涵 2016-03-08 22:38 閱讀:114 評論:0   [nodejs] nodejs開發個人部落格(二)入口檔案 陶士涵 2016-03-06 22:37 閱讀:218 評論:0   [nodejs] nodejs開發個人部落格(一)準備工作 陶士涵 2016-03-05 22:05 閱讀:207 評論:0  

 

  

[Linux] PHP程式員玩轉Linux系列-使用supervisor實現守護進程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.