PM2 使用腳本啟動(dòng)了進(jìn)程,用pm2 list卻看不到進(jìn)程

今天部署一個(gè)項(xiàng)目的時(shí)候,使用了腳本在機(jī)器上啟動(dòng)了項(xiàng)目,但是上去機(jī)器上,用sudo pm2 ls查看的時(shí)候,卻發(fā)現(xiàn)返回的進(jìn)程列表是空的。但是項(xiàng)目又真的已經(jīng)啟動(dòng)且可訪問?,F(xiàn)象就是項(xiàng)目已經(jīng)啟動(dòng),但是在pm2卻看不到這個(gè)項(xiàng)目,找了很久的問題,終于在github的一個(gè)issue找到了原因。

原因就是腳本啟動(dòng)項(xiàng)目的時(shí)候,重新開了一個(gè)PM2 God Daemon進(jìn)程,跟我用sudo看的PM2 進(jìn)程不是同一個(gè):

ps aux | grep pm2
root 16281 0.0  0.1 686328 50708 ?  Ssl  Aug25  0:26 PM2 v4.4.0: God Daemon (/root/.pm2)
root 24513 1.8  0.1 605484 41308 ?  Ssl  19:54  0:00 PM2 v4.4.0: God Daemon (/data/services/pm2home/)

第一個(gè)God Daemon是使用sudo時(shí)查看的PM2,腳本使用的是第二個(gè)God Daemon

如何查看同一臺(tái)機(jī)器上的PM2實(shí)例

實(shí)際上,這是PM2提供的一個(gè)功能,允許用戶在同一臺(tái)機(jī)器上生成多個(gè)PM2 實(shí)例。要查看不同實(shí)例下PM2管理的進(jìn)程,可以使用:

sudo PM2_HOME=/data/services/pm2home/ pm2 ls

這樣,第二個(gè)PM2實(shí)例的項(xiàng)目就可以被打印出來了。

至于為什么腳本控制pm2啟動(dòng)的進(jìn)程會(huì)重新開啟一個(gè)PM2實(shí)例, 而不是使用/root/.pm2這個(gè)就還需要再研究下。否則其他人維護(hù)項(xiàng)目的時(shí)候,使用sudo pm2 ls卻看不到進(jìn)程可能會(huì)引起困惑。

參考資料:
multiple-pm2-on-the-same-server
Apps not showing on list #992

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容