如何编写shell脚本来检查端口并杀死它?

Jan*_*ith 2 bash scripts

我有一个命令来检查端口并终止该端口上运行的特定 pid。但我想修改为

  1. 检查端口是否繁忙或可用
  2. 如果端口繁忙则杀死 pid

我怎样才能做到这一点?

代码如下。

sudo netstat -nlpt | grep 2020 | awk '{print $7}' | sed s+/.*++g | sort -u | xargs -i kill -kill {}
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用此命令来删除 Ubuntu 中的端口。

sudo kill $(sudo lsof -t -i:portno)
Run Code Online (Sandbox Code Playgroud)

lsof 命令或带有 -i 标志的打开文件列表将找出特定端口的所有正在运行的进程,并给出相应的进程 ID。Kill 选项将终止带有 lsof 命令给出的 pid 的进程。

因此,如果你想杀死在端口 3000 上运行的进程,你将必须执行以下命令

sudo kill $(sudo lsof -t -i:3000)
Run Code Online (Sandbox Code Playgroud)