这个操作主要由四步组成:
1 netstat -nlp 查看占用端口号的服务
2 找到该端口号的进程
3 找到该进程id
4 kill
我们一个一个分析:
1 查看占用端口号的服务
我们可以使用如下命令:
netstat -nlp
可以看到大量进程描述
1
一个一个找的话显然比较麻烦,接下来我们借助管道grep过滤相应的端口
netstat -npl | grep :3000
结果只剩下一条了,感觉爽多了。
2
2 读出端口号
到这里我们就可以使用awk命令读出相应的端口号和服务名称了。
netstat -nlp | grep :3000 | awk ‘{print 7}’7的意思是读取netstat -nlp | grep :3000 过滤结果的第七个字段,结果默认是用tab键分隔的,可以直接通过索引取。
但是结果是pid/name的形式,需要我们继续将pid分离出来,接着运行下面的命令:
netstat -nlp | grep :3000 | awk ‘{print 7}' | awk -F"/" '{ print1 }’
将pid/name进行进一步的’/’分隔然后取出第一个索引值,即为pid。
3 kill掉该进程
既然是kill进程,我们希望服务器立即执行,需要在kill命令上加上参数-9
4 完整的命令
kill -9 netstat -nlp | grep :3000 | awk ‘{print 7}' | awk -F"/" '{ print1 }’
通过这条命令就可以找到对应的服务并将其kill掉了。