在linux環境下,客戶端一般使用x-shell客戶端工具開啟服務器上的后台再斷開連接,服務器上的后台也會斷開。
這時候我們需要通過 “nohup &” 命令來運行后台,讓后台一直處於運行狀態,不跟隨客戶端的斷開而懸掛起來。
每次運行都需要使用“nohup &” 命令,比較麻煩,我們最好在該后台根目錄的bin子目錄下寫一個startserver.sh的shell腳本,每次只需要在bin下運行"./startserver.sh"命令就可以讓后台一直處於運行狀態了。
startserver.sh的shell腳本內容如下:
#!/bin/sh
nohup node ./bin/www &
shell腳本解釋:
1.在linux中一行開頭的 # 是注釋,但是這里的 #! 不是注釋,而是不可缺少的腳本內容。
2.#!/bin/sh作用是聲明腳本的類型以及在shell中的路徑,告訴解析器應該用哪種解析語言來解析該腳本。
注意:新的腳本寫完后的第一次運行需要使用特別的命令來運行該腳本,否則會出現沒有權限開啟該服務的錯誤。
像這樣的錯誤:nohup: failed to run command `./www': Permission denied //就是沒有權限的錯誤
解決方法:為該腳本第一次運行賦予權限,具體命令如下:
1)先執行該命令:chmod +x startserver.sh //命令組成:chmod +x 腳本的名字
2)再執行此命令:nohup node ./www & //將腳本內的nohup命令語句執行一遍
3)通過命令查看進程:ps -ef|grep node //命令組成 ps -ef|grep 需要查看的進程名
第二次之后運行腳本就可以直接在他的目錄下使用命令" ./startserver.sh " 即可。