Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从启动中移除pm2(在mac上)_Node.js_Launchd_Pm2 - Fatal编程技术网

Node.js 如何从启动中移除pm2(在mac上)

Node.js 如何从启动中移除pm2(在mac上),node.js,launchd,pm2,Node.js,Launchd,Pm2,我正在试验node.js应用程序的流程管理器。我尝试了他们的实用程序,它在系统重新启动时为pm2生成并安装启动脚本 我在我的mac电脑上试过这个,它工作得完美无缺。pm2会自动重新启动并生成所有我的节点脚本 然而现在,我已经完成了实验,我该如何从我的创业公司中删除它呢?我希望pm2有一个类似的简单实用程序,可以从启动时卸载自己 我知道它正在mac上使用launchd重新启动进程。我注意到它在/Users//Library/LaunchAgents目录下安装了一个io.keymetrics.PM2

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

我在我的mac电脑上试过这个,它工作得完美无缺。pm2会自动重新启动并生成所有我的节点脚本

然而现在,我已经完成了实验,我该如何从我的创业公司中删除它呢?我希望pm2有一个类似的简单实用程序,可以从启动时卸载自己

我知道它正在mac上使用
launchd
重新启动进程。我注意到它在
/Users//Library/LaunchAgents
目录下安装了一个
io.keymetrics.PM2.plist
文件

这和删除这个文件一样简单吗?或者它正在做一些更具侵入性的事情,并且需要更优雅的卸载

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

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

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

launchctl列表|更多

或者,如果pm2代理使用相同的名称:

launchctl列表| grep pm2

然后,在获得作为launchd一部分的pm2代理的名称后,执行:

sudo launchctl remove

就这样。如果您希望在将来再次包含代理,可以通过以下方式完成:


sudo launchctl load

使用launchctl unload

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

好的,这对我来说很有效:

我删除了两个文件:

  • /Users//Library/LaunchAgents/io.keymetrics.PM2.plist

    此命令在重新启动时注册命令
    pm2 resurrect

  • /Users/.pm2/dump.pm2

    最后一个我假设是由pm2 dump创建的,如果没有这个信息,即使pm2在重启时被恢复,也没有什么可以恢复的


有人找到了更优雅的方法吗?

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

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

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

如果要停止整个pm2启动过程,请执行以下操作:

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

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

这对你来说可能太晚了,但对其他人来说可能会有用…

从Mac OS上的启动中删除pm2:

  • 按mac用户名更改当前用户
  • 运行以下命令:

感谢您的回答,但是io.keymetrics.PM2.plist没有显示在launchctl列表中。。你认为它会在最后一张照片上出现吗?我在pm2和keymetrics上试过grep,也试过在过滤掉苹果的列表后手动查看。你确定你仔细查看了列表吗?因为它应该在那里…是的,仔细检查:(我使用了问题中链接的pm2文档中描述的“pm2启动”。我更新了问题并添加了它在内部使用的命令。文件存在,但我收到错误信息“launchctl:error unload:io.keymetrics.pm2”…我也尝试了sudo..launchctl-w load~/Library/LaunchAgents/io.keymetrics.pm2.plist,然后再次卸载该文件。
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 unstartup launchd -u m --hp /Users/CURRENT_USER