服務端node腳本持久化運行

最簡單的辦法:
    $ nohup node app.js &

nohup和&後臺運行,進程查看及終止
    1.nohup     用途:不掛斷地運行命令。
        語法:nohup Command [ Arg … ] [ & ]
        不管是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。
        若是當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
        若是沒有文件能建立或打開以用於追加,那麼 Command 參數指定的命令不可調用。

    2.&         用途:在後臺運行
    通常兩個一塊兒用
        nohup command &
    查看運行的後臺進程
        (1)jobs -l
            jobs命令只看當前終端生效的,關閉終端後,在另外一個終端jobs已經沒法看到後臺跑得程序了,此時利用ps(進程查看命令)
        (2)ps -ef       ps -aux|grep chat.js
            a:顯示全部程序 
            u:以用戶爲主的格式來顯示 
            x:顯示全部程序,不以終端機來區分
            用ps -def | grep查找進程很方便,最後一行老是會grep本身
    3.若是某個進程起不來,多是某個端口被佔用
        查看使用某端口的進程  lsof -i:8090    netstat -ap|grep 8090
        查看到進程id以後,使用netstat命令查看其佔用的端口   
            netstat -nap|grep 7779
    4.終止後臺運行的進程
        kill -9  進程號


可是,forever能作更多的事情,好比分別記錄輸出和錯誤日誌,好比能夠在js中做爲api使用。

    $ sudo npm install forever -g   #安裝
    $ forever start app.js          #啓動
    $ forever stop app.js           #關閉
    $ forever start -l forever.log -o out.log -e err.log app.js   #輸出日誌和錯誤
相關文章
相關標籤/搜索