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

Sha*_*nak 6 launchd node.js pm2

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

我在我的Mac上试过这个,它完美无瑕.pm2会自动重启并生成我的所有节点脚本.

但是现在,我已经完成了实验,如何从启动中删除它?我希望pm2带有一个类似简单的实用程序,可以从启动时卸载自己.

我知道它正在使用launchdmac重启进程.我注意到它io.keymetrics.PM2.plist/Users/<username>/Library/LaunchAgents目录下安装了一个文件.

它只是删除这个文件一样简单吗?或者它是否正在做一些更具侵入性的东西,需要更优雅的卸载?

它在内部使用以下命令安装启动脚本

   sudo env PATH=$PATH:/usr/local/bin pm2 startup darwin -u shaunak
Run Code Online (Sandbox Code Playgroud)

Vij*_*mar 6

pm2 unstartup 在内部使用以下命令的 Ubuntu 16.04 上运行良好:

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 unstartup systemd
Run Code Online (Sandbox Code Playgroud)

同样也适用于 Mac(但内部命令看起来有点不同)。


doo*_*oom 6

如果你想停止整个 pm2 启动过程,请执行以下命令:

pm2 unstartup
Run Code Online (Sandbox Code Playgroud)

如果您只想删除一个应用程序,请执行以下操作:

pm2 stop yourapp //if needed
pm2 delete yourapp
pm2 save
Run Code Online (Sandbox Code Playgroud)

对你来说可能为时已晚,但也许对其他人有用......


Nom*_*man 2

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

launchctl list | more

或者,如果 pm2 代理具有相同的名称:

launchctl list | grep pm2

然后,一旦您获得了属于 launchd 一部分的 pm2 代理的名称,请执行:

sudo launchctl remove <pm2-agent-name>

就是这样。如果您以后想再次添加代理,可以通过以下方式进行:

sudo launchctl load <agent-name>