📌  相关文章
📜  杀死所有持有端口的进程 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:33.440000             🧑  作者: Mango

杀死所有持有端口的进程 - Shell-Bash

在编写网络应用程序时,可能会遇到端口冲突的情况,即已经有另一个进程在使用该端口,导致无法启动程序。此时需要手动杀死占用该端口的进程,以释放端口资源。

Shell-Bash提供了一种简单的方式来杀死所有持有端口的进程,使用命令lsof -i:[PORT]来列出占用该端口的进程,然后使用kill [PID]命令逐个杀死进程。

以下是一个在Shell-Bash中实现杀死所有持有端口的进程的脚本:

#!/bin/bash

# 获取端口号
read -p "Enter port number: " port_number

# 杀死所有占用该端口号的进程
for pid in $(lsof -t -i:$port_number); do
    echo "killing process $pid"
    kill $pid
done

echo "All processes holding port $port_number have been killed."

该脚本使用read命令获取用户输入的端口号,然后使用lsof -t -i:$port_number命令获取所有占用该端口的进程的PID,并使用kill命令逐个杀死进程。

以下是该脚本的Markdown版本:

# 杀死所有持有端口的进程 - Shell-Bash

在编写网络应用程序时,可能会遇到端口冲突的情况,即已经有另一个进程在使用该端口,导致无法启动程序。此时需要手动杀死占用该端口的进程,以释放端口资源。

Shell-Bash提供了一种简单的方式来杀死所有持有端口的进程,使用命令`lsof -i:[PORT]`来列出占用该端口的进程,然后使用`kill [PID]`命令逐个杀死进程。

以下是一个在Shell-Bash中实现杀死所有持有端口的进程的脚本:

```bash
#!/bin/bash

# 获取端口号
read -p "Enter port number: " port_number

# 杀死所有占用该端口号的进程
for pid in $(lsof -t -i:$port_number); do
    echo "killing process $pid"
    kill $pid
done

echo "All processes holding port $port_number have been killed."

该脚本使用read命令获取用户输入的端口号,然后使用lsof -t -i:$port_number命令获取所有占用该端口的进程的PID,并使用kill命令逐个杀死进程。