国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

PHP程序員玩轉Linux系列 使用supervisor實現守護進程

2024-09-05 23:03:44
字體:
來源:轉載
供稿:網友

首先遇到的問題是,部署nodejs的博客程序時,我把執行nodejs的命令放到后臺,使用加&和nohup命令

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

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

進程的基礎概念

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

supervisor,進程

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

ping baidu.com > xx.txt &

supervisor,進程

把后臺進程重新轉到前臺,%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 用戶自定義信號1
17 SIGUSR2 用戶自定義信號2
18 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.jsuser=root

開啟 supervisord -c /etc/supervisord.conf  

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滨海县| 红河县| 无锡市| 濮阳市| 高邮市| 刚察县| 湟源县| 拜泉县| 西华县| 同心县| 雷山县| 工布江达县| 简阳市| 玉龙| 开江县| 延川县| 航空| 云南省| 乾安县| 平凉市| 通江县| 泽库县| 汽车| 三门县| 新津县| 察哈| 台安县| 喀喇沁旗| 杂多县| 耒阳市| 桦川县| 富顺县| 天全县| 铅山县| 红桥区| 互助| 建宁县| 盐边县| 乐至县| 阳春市| 榆社县|