如何从启动中删除pm2(在mac上)

我尝试了pm2 ,它是node.js应用程序的进程pipe理器。 我试过他们的pm2启动工具,它在系统重新启动时为pm2生成并安装启动脚本。

我在我的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 

pm2 unstartup在Ubuntu 16.04上pm2 unstartup工作,它在内部使用以下命令:

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

同样应该在Mac上工作(但内部命令看起来有点不同)。

首先,使用以下命令获取所有运行代理的列表:

launchctl list | more

或者,如果pm2代理人的名字相同:

launchctl list | grep pm2

然后,一旦您拥有属于launchd的pm2代理的名称,请执行:

sudo launchctl remove <pm2-agent-name>

就是这样。 如果您想再次包括代理人,则可以通过以下方式进行操作:

sudo launchctl load <agent-name>

使用launchctl卸载。

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

好的,这对我有效:

我删除了两个文件:

  • /Users/<username>/Library/LaunchAgents/io.keymetrics.PM2.plist
    这个在重启时注册命令pm2 resurrect重新生成。

  • /Users/<username>/.pm2/dump.pm2
    这最后一个我认为是由pm2 dump创build的,没有这个信息,即使PM2正在复活,重新启动没有什么复活?

有人发现一个更优雅的方式来做到这一点?

Interesting Posts