背景说明
Mac系统下开发过程中经常遇到端口占用的问题,这里提供一种方案通过端口杀死进程释放端口的方案。
解决方案
相关命令
lsof命令可以查看端口被哪个程序占用(可以显示PID)
lsof -i tcp:3333
lsof -i:333
Mac版本的netstat是一个简化的版本,*ninx系统常用的参数这里不支持
脚本支持
编写脚本portkill.sh
#!/bin/bash
if [ -z $1 ]; then
echo "you must input a port"
exit 0
fi
PNAME=$(lsof -i:$1 |grep LISTEN | awk '{print $1}')
PID=$(lsof -i:$1 |grep LISTEN | awk '{print $2}')
if [ "$PID" == "" ]; then
echo "process port $1 no exit"
exit 0
else
echo "process id is:${PID},process name is:${PNAME} "
fi
kill -9 ${PID}
if [ $? == 0 ]; then
echo "kill port $1 success"
else
echo "kill port $1 fail"
fi
执行脚本./portkill.sh 3333
即可完成进程kill