#!/bin/bash
# 设置要检查的端口号
PORT_TO_CHECK=9009
# 检查端口是否被占用
netstat -tuln | grep "$PORT_TO_CHECK"
# 检查netstat命令的退出状态
if [ $? -eq 0 ]; then
echo "端口 $PORT_TO_CHECK 已被占用."
# 获取占用该端口的进程PID
PID=$(lsof -t -i :$PORT_TO_CHECK)
if [ -n "$PID" ]; then
# 杀死占用该端口的进程
kill -9 $PID
echo "已杀死进程 $PID 占用端口 $PORT_TO_CHECK."
else
echo "没有找到占用端口 $PORT_TO_CHECK 的进程."
fi
else
echo "端口 $PORT_TO_CHECK 未被占用."
fi
这个脚本首先设置要检查的端口号(在上面的示例中为9009),然后使用netstat
命令检查该端口是否被占用。如果端口被占用,它会使用lsof
命令来获取占用该端口的进程的PID,并使用kill
命令终止该进程。
请注意,使用kill -9
命令是一种强制终止进程的方式,应谨慎使用,因为它可能导致数据损坏或其他不良影响。在实际使用中,请确保明确了解需要终止的进程,以避免不必要的损害。