1. 程式人生 > >伺服器部署之nohup與程式的後臺執行

伺服器部署之nohup與程式的後臺執行

 # 1.後臺啟動程式
    nohup Command [ Arg … ] [ & ]
    # nohup命令 引數可選但不是必須的,又需要看文件既可
    # 舉例
    # 在後臺執行 main.py的python指令碼
    nohup python main.py &
    # 在後臺執行uwsgi
    nohup uwsgi --http :8001 --wsgi-file main.py &

    # 執行之後會返回一個程序號
    # 以及告訴你程式的標準輸出都會儲存在一個叫outhup.out的檔案中在程式根目錄下

    # 2.檢視此程式執行狀態
    # 埠狀態檢視
    lsof -i:port

    # 某某程式執行狀態
    ps -ef | grep <程式名>
    # 舉例 
    # 檢視後臺python執行狀態 
    ps -ef | grep python
    # 檢視後臺uwsgi執行狀態
    ps -ef | grep uwsgi

    # jobs這個命令也可檢視程式後臺執行狀態,不過另起一個ssh就出不來了,感覺有點雞肋

    # 3.停掉這個程式,不讓他運行了
    # 可以把後臺程式轉到前臺,也可以根據程序號直接幹掉,這裡推薦後者,畢竟方便
    # 例如根據 ps -ef | grep <程式名> 得到程序號24567
    kill 24567
    # 這個程序講就game over了

    # 最最最重要的一點
    # 程式在後臺運行了之後,不要直接把ssh給關了
    # 一但ssh客戶端中斷,這個程序也就直接掛了
    # 所以我們需要exit來退出遠端連線,真的是細節決定成敗