你們是否是會遇到過node app,js 而後Ctrl+C 就掛了? 下面利用pm2永久保持進程。node
$ npm install pm2 -g複製代碼
// 啓動app.js, 啓動以後會有一個進程ID, 下面id是1
$ pm2 start app.js
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ app │ 1 │ fork │ 40047 │ online │ 0 │ 8s │ 0% │ 50.6 MB │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘
// 啓動全部進程, 這個意思是你中止了進程以後能夠啓動全部。
pm2 start all
// 從新啓動進程, 若是你修改了代碼能夠用這個命令,或者後面是你的想要重啓的進程id
pm2 restart all複製代碼
// 只中止app.js
pm2 stop app.js
// 或者中止進程id, 當你啓動的時候會有一個進程id
pm2 stop 1
// 中止全部進程
pm2 stop all複製代碼
// 當你啓動進程或者中止進程,其實會在pm2 list裏面,若是想要刪除的話...
pm2 delete 0
// 刪除全部
pm2 delete all複製代碼
pm2 list
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ app │ 0 │ fork │ 40188 │ online │ 0 │ 3s │ 0% │ 50.5 MB │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘複製代碼
// 這個很是有用,用來查看node進程的一些運行時間,重啓了幾回
// 能夠看運行的文件路徑,內存使用狀況,是否出現內存泄露
pm2 monit複製代碼
// 用於查看程序打印的日誌, console.log();
pm2 logs複製代碼
從新運行代碼 而且不會失去請求
pm2 reload all複製代碼