【问题标题】:How to kill a process that restarts? (Forever)如何杀死重新启动的进程? (永远)
【发布时间】:2016-05-15 17:12:36
【问题描述】:

我想我不小心在某个地方安装了 Foreverjs 并启动了它。每次我终止这个进程时,都会有另一个进程取而代之]1

我不知道永远可能在哪里(或者如果这实际上是导致它的原因),因为我将它安装在本地。

【问题讨论】:

    标签: node.js terminal ports forever


    【解决方案1】:

    如果它自己重新启动,则表示有父进程监控。找到父进程,先杀掉ps -o ppid= -p PID

    【讨论】:

      【解决方案2】:

      查看Where does npm install packages?npm folders 文档

      本地安装(默认):把东西放在当前的 ./node_modules 包根目录。

      全局安装(使用 -g):将内容放入 /usr/local节点安装在哪里

      运行which forever 获取其安装路径并使用卸载它

      • forever stopall
      • npm uninstall forever 如果全局安装 添加-g

      【讨论】:

      • 嘿,谢谢!正如我所提到的,它是本地安装,所以我不能像这样在命令行中永远使用。问题是我有许多不同的项目分散在他们自己的 node_modules 文件夹中,而不是我不知道 npm 将东西安装到 node_modules 文件夹中
      【解决方案3】:

      原来我在 PM2 上以 root 用户和我的新特权用户运行了相同的脚本。每次我杀死它及其父级时,root 用户都会使用 PM2 重新启动该进程。 所以我这样做了

      sudo su
      pm2 status //to check pm2 processes
      pm2 delete process_name //to delete the process
      exit 
      pm2 start "yarn start" --name process_name
      

      希望这有助于节省别人的时间

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多