📌  相关文章
📜  杀死在端口 80 上运行的进程 - Shell-Bash (1)

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

杀死在端口 80 上运行的进程 - Shell-Bash

在开发和运维中,我们常常需要杀死在某个端口上运行的进程。在 Linux 和 Unix 系统上,我们可以使用 Shell-Bash 脚本来轻松实现这个功能。

方法一:使用 lsof 命令查找进程并杀死

lsof 命令用于列出 Linux/Unix 系统中打开的文件。我们可以使用该命令来查找在端口 80 上运行的进程,并杀死它。

以下是用 Shell-Bash 实现的代码片段:

#!/bin/bash
# 查找在端口 80 上运行的进程并杀死它

# 查找进程 ID
PID=$(sudo lsof -t -i:80)

# 如果进程存在,则杀死它
if [ -n "$PID" ]
then
  sudo kill -9 $PID
  echo "Process with PID $PID killed."
else
  echo "No process found running on port 80."
fi

上述脚本首先使用 lsof 命令查找在端口 80 上运行的进程的进程 ID,并将其存储在变量 $PID 中。随后,如果进程存在,则使用 kill 命令杀死它。

方法二:使用 fuser 命令查找进程并杀死

fuser 命令用于查找 Linux/Unix 系统中使用指定文件或端口的进程。与 lsof 相比,fuser 更加快速。以下是用 Shell-Bash 实现的代码片段:

#!/bin/bash
# 查找在端口 80 上运行的进程并杀死它

# 查找进程 ID
PID=$(sudo fuser -n tcp -k 80)

# 如果进程存在,则杀死它
if [ -n "$PID" ]
then
  echo "Process with PID $PID killed."
else
  echo "No process found running on port 80."
fi

上述脚本使用 fuser 命令查找在端口 80 上运行的进程的进程 ID,并将其存储在变量 $PID 中。随后,如果进程存在,则使用 kill 命令杀死它。

总结

在本文中,我们介绍了两种使用 Shell-Bash 脚本杀死在端口 80 上运行的进程的方法:一种是使用 lsof 命令,另一种是使用 fuser 命令。您可以根据自己的需求选择适合的方法。