2015-02-10 81 views
4

我試驗了pm2,它是node.js應用程序的進程管理器。我嘗試了他們的pm2 startup實用程序,它在系統重新啓動時爲pm2生成並安裝啓動腳本。如何從啓動時刪除pm2(在mac上)

我在我的Mac上試過這個,它的工作原理完美無瑕。 pm2自動重新啓動併產生所有節點腳本。

但是現在,我已經完成了試驗,並且如何從啓動中刪除此項目?我希望pm2有一個類似的簡單工具來從啓動中卸載。

我知道它在mac上使用launchd來重新啓動進程。我注意到它在/Users/<username>/Library/LaunchAgents目錄下安裝了io.keymetrics.PM2.plist文件。

就像刪除這個文件一樣簡單嗎?還是在做一些更具侵入性的事情,需要更優雅的卸載?

它在內部使用下面的命令來安裝啓動腳本

sudo env PATH=$PATH:/usr/local/bin pm2 startup darwin -u shaunak 

回答

1

首先,使用得到所有正在運行的代理列表:

launchctl list | more

或者,如果PM2劑流逝的同名:

launchctl list | grep pm2

然後,一旦你有PM2劑是的launchd的一部分的名稱,執行:

sudo launchctl remove <pm2-agent-name>

就是這樣。

sudo launchctl load <agent-name>

+0

感謝您的答案,但io.keymetrics.PM2.plist沒有顯示在列表上顯示launchctl列表..你覺得它出現在這最後還有其他的名字?我在pm2和keymetrics上試過grep,也嘗試在過濾出蘋果的列表後手動查看列表。 – Shaunak 2015-02-11 00:59:19

+1

您確定您已經仔細查看了列表嗎?因爲它應該在那裏... – 2015-02-11 07:41:23

+0

是的,雙重檢查:( – Shaunak 2015-02-11 23:25:01

0

用launchctl命令卸載:如果您想再次包括對未來的代理,你可以做到這一點。

launchctl -w unload ~/Library/LaunchAgents/io.keymetrics.PM2.plist 
+0

該文件存在,但我得到錯誤說'launchctl:錯誤卸載:io.keymetrics.PM2'..我也試過sudo .. – Shaunak 2015-02-16 17:32:53

+0

launchctl -w加載〜/ Library/LaunchAgents/io.keymetrics.PM2.plist然後再次卸載該文件。 – 2015-02-17 05:48:09

0

OK,這爲我工作:

我刪除了兩個文件:在重啓

  • /Users/<username>/Library/LaunchAgents/io.keymetrics.PM2.plist
    這一個寄存器命令pm2 resurrect

  • /Users/<username>/.pm2/dump.pm2
    這最後一個我認爲是pm2 dump,沒有即使是在系統啓動時自動復活PM2沒有什麼復活這個信息產生的?

有沒有人發現一個更優雅的方式來做到這一點?

2

pm2 unstartup在Ubuntu 16上正常工作。04內部使用下面的命令:

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 unstartup systemd 

同樣要在Mac上工作,以及(但內部命令看起來有些不同)。

0

如果你想停止整個PM2啓動過程使:

pm2 unstartup 

如果你只是想刪除一個應用化妝:

pm2 stop yourapp //if needed 
pm2 delete yourapp 
pm2 save 

這可能是太晚了你,但也許它將是有用的人...