方法一
Linux网络编程的实验中遇到了开启server后用CTRL+C退出但是端口仍被server占用的情况,首先可以用lsof查看占用端口的进程号
lsof -i:端口号
然后kill掉占用进程,就可以再次启动server了
kill -9 进程号
当然上述还是有些麻烦,因此可以用以下一条命令替代:
sudo kill -9 $(lsof -i:端口号 -t)
方法二
port=8030 # 根据端口号去查询对应的PID pid = $(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{print $1}'); # 杀掉对应的进程 如果PID不存在,即该端口没有开启,则不执行 if [ -n "$pid" ]; then kill -9 $pid; fi