【问题标题】:"Port 4200 is already in use". Killing all the processes associated with 4200 did not work.“端口 4200 已在使用中”。杀死与 4200 相关的所有进程都不起作用。
【发布时间】:2017-01-13 11:25:06
【问题描述】:

我正在尝试在我的 Mac OS X 10.11.3 El Capitan 上运行 Angular。

我安装了 nodeJS 和 npm。通过 npm 我安装了 angular-cli。

我通过命令sudo ng new first-app创建了一个新应用

我导航到 app 文件夹并运行 sudo ng serve

它抛出了以下错误:

Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
Port 4200 is already in use.

参考另一个答案,我尝试了以下方法:

sudo kill $(sudo lsof -t -i:4200)

它没有帮助。

其实我已经重新安装了nodejs、npm、angular-cli。当我在出现一些构建错误之前安装它时,因为有一些凉亭问题。不确定是什么。当我当时访问 localhost:4200 时,该页面出现了,但上面有错误日志。现在页面甚至没有加载。加载符号一直在图标附近盘旋。我不知道这是否可能是一个线索。

谢谢。我需要有角度的跑步。很多东西要学!

【问题讨论】:

    标签: angularjs node.js angular npm angular-cli


    【解决方案1】:

    请在git cmd 上触发这个

    sudo lsof -t -i tcp:4200 | xargs kill -9
    

    【讨论】:

    • 可能没有太多支持,因为 chrome 也被杀死了,呵呵,谢谢
    • 感谢@LauraAbadAvilés
    • Chrome 并没有因此而被杀死,而只是 ng 服务!谢谢
    【解决方案2】:

    有时您需要强制终止进程,请使用-9

    kill -9 $(lsof -t -i:4200)

    【讨论】:

      【解决方案3】:

      这对我有帮助。在mac终端上杀死4200端口的进程

      npx kill-port 4200
      

      然后使用

      ng serve

      参考 - Find (and kill) process locking port 3000 on Mac

      【讨论】:

      • 为我工作......在许多其他选项失败之后。谢谢桑! +1
      【解决方案4】:

      尝试单独执行您的 kill 命令。这就是你的做法。

      运行此命令以获取正在使用端口 4320 的进程 ID。在我的示例中,我向您展示了使用 mysql = 3360。

      sudo ps -alh | grep "3360"
      
      0  1000 20170 18854  20   0  14224  1092 pipe_w S+   pts/1      0:00 grep --color=auto 3360
      

      然后立即执行kill命令:

      sudo kill -s 18854
      

      完成!

      【讨论】:

      • 501 73083 69535 4006 0 31 0 2445080 360-T 0 TTYS000 0:00.00 Grep:4200 501 74143 69535 4006 0 31 0 2453272 804-S + 0 TTYS000 0:00.00 Grep 4200我得到了这一点结果。我现在该怎么办 ?哪个是信号?所有值都以未知信号的形式出现。
      • sudo kill -s 69535 或 sudo kill -s 4006
      【解决方案5】:

      你可以使用

      lsof -t -i tcp:4200 | xargs kill -9
      

      对我有用

      【讨论】:

        【解决方案6】:

        试试这个:

        fuser -n tcp -k 4200 -f
        

        【讨论】:

          【解决方案7】:

          对于 Windows 用户,以管理员身份进入 cmd 并查找正在运行的端口的 PID。 比如我的运行端口是4200。

          然后在cmd上运行这个命令

          netstat -a -n -o
          

          通过在列表中查找找到端口号为 4200 的端口,或者您可以 右键单击终端并单击此处查找 在“查找内容”中输入 4200 并单击“查找下一个”: 例如,您发现 pid 17200 使用了端口号 4200,然后在 cmd 中键入以下命令:

          taskkill -f /pid 17200
          

          【讨论】:

            猜你喜欢
            • 2019-01-16
            • 2017-11-12
            • 1970-01-01
            • 1970-01-01
            • 2018-08-08
            • 2018-08-20
            • 2019-09-25
            • 2016-12-29
            • 2019-12-24
            相关资源
            最近更新 更多