📌  相关文章
📜  如何监听 8080 端口运行的进程并杀死它 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:13.402000             🧑  作者: Mango

如何监听 8080 端口运行的进程并杀死它 - Shell-Bash

使用Shell或Bash脚本可以轻松监听特定端口运行的进程并杀死它们。在本教程中,我们将学习如何编写脚本来检测并终止 8080 端口上运行的进程。

步骤 1: 使用lsof命令查找运行在8080端口上的进程

首先,我们需要使用lsof命令来确定当前运行在 8080 端口上的进程。以下是查找并显示该端口上进程的命令:

lsof -i :8080

如果该端口上有运行的进程,该命令将返回类似以下的输出:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    12345   user   20u  IPv6  12345      0t0  TCP *:8080 (LISTEN)
步骤 2: 提取PID(进程ID)

从上一步得到的输出中提取进程ID(PID)。

使用awk命令来提取PID:

PID=$(lsof -t -i :8080)

注意,-t选项仅返回PID而不输出其他信息,并将其赋值给PID变量。

步骤 3: 终止进程

有了PID,我们现在可以使用kill命令来终止该进程。

kill $PID

将PID插入到kill命令中,然后运行脚本,进程将被终止。

以下是完整的Shell/Bash脚本示例:

#!/bin/bash

PORT=8080

PID=$(lsof -t -i :$PORT)

if [ -z "$PID" ]; then
    echo "No process is currently running on port $PORT."
else
    echo "Process with PID $PID is running on port $PORT. Killing the process..."
    kill $PID
    echo "Process terminated."
fi

此脚本在 8080 端口上查找运行的进程,并如果找到的话,终止该进程。

请注意,如果在该端口上没有运行的进程,脚本将输出"No process is currently running on port 8080."消息。

运行脚本

要运行脚本,请执行以下命令:

bash script.sh

确保将script.sh替换为实际的脚本文件名。

结论

通过本教程,您将学会如何使用Shell/Bash脚本来监听特定端口上运行的进程,并终止它们。您可以根据自己的需求修改脚本,并将其应用到实际场景中。