我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。

我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。

当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。

我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。


当前回答

在Mac OS X上,您需要执行以下命令:

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

记住,你需要用Command+C关闭Angular的web服务器。

其他回答

我也遇到过类似的问题,问题基本上是我在powershell中打开了多个运行终端。其他的都按Ctrl+c。

而不是杀死整个进程或使用ctrl+z,你可以简单地使用ctrl+c来停止服务器,并且可以轻松地使用ng serve命令而不会出现任何错误,或者如果你想在不同的端口上运行,只需使用这个命令ng serve——port portno(例如:ng serve——port 4201)。

总之,解决方案不止一种: 1)使用另一个端口定义端口号,

ng serve --open --port 4201

2)通过终止过程

ctrl + c // for kill
Close all node terminal which is related for running the app.

3)类型

Netstat -a -n -o

命令提示符 然后找到相应的端口PID,通过

taskkill /F /PID (PID数)

4)输入netstat -ano|findstr:4200

获取外部地址PID,其中包含端口号,然后杀死它

taskkill /PID (PID number)/F

Port 4200 is already in use. Use '--port' to specify a different port

这意味着您已经在端口4200上运行了另一个服务。如果是这样的话 你可以选择。关闭另一个服务。运行ng时使用——port标志 这样上菜:

 ng serve --port 9001

另一件需要注意的事情是,在某些机器上,域localhost可能无法工作。 您可能会看到一组数字,例如127.0.0.1。当你发球时,它应该显示出来 你知道服务器运行在哪个URL上,所以一定要在你的机器上阅读消息 来查找您的确切开发URL。

使用这个命令杀死ng:

pkill -9 ng