pm2的使用

你們是否是會遇到過node app,js 而後Ctrl+C 就掛了? 下面利用pm2永久保持進程。node

安裝pm2

$ npm install pm2 -g複製代碼

這裏須要補充一句,啓動、刪除、中止均可以用文件名或者進程id,推薦用進程id

啓動進程

// 啓動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複製代碼

0秒停機重載

從新運行代碼 而且不會失去請求
pm2 reload all複製代碼
相關文章
相關標籤/搜索