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

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

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

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


当前回答

对我来说,这个命令在Ubuntu中是有效的

sudo fuser -k 4200/tcp for killing other ports

其他回答

不要用ctrl+Z,要停止进程一定要用ctrl+C

netstat -anp | grep ":4200"

这会告诉你谁得到了端口。

可以在.angular-cli文件中更改端口。例如:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

另外,有必要在package.json中添加以下内容:

"ng": "ng",
"start": "ng serve"

Netstat -plnet

tcp 00 127.0.0.1:4200 0.0.0.0:* LISTEN 1001 63955 7077/ng

杀死-9 7077

再次开始你的ng发球。

总之,解决方案不止一种: 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