如何从启动中删除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正在复活,重新启动没有什么复活?
有人发现一个更优雅的方式来做到这一点?