一次关闭多个端口

Close many ports at once

当我想终止给定端口上的进程时(比如说 8000),我正在使用命令:

kill -9 `lsof -i :8000`

有没有办法一次性关闭多个端口?我必须终止端口 8000-9000 上的进程,手动执行此操作效率很低。

好的,首先尝试为您提供一个工作脚本。

#!/bin/bash
for i in {8000..9000}
do
   kill -kill `lsof -t -i tcp:$i`
done

将以上内容放入 .sh 文件中,myportrangekiller.sh并使其可执行,chmod +x myportrangekiller.sh 和 运行 使用 $ ./myportrangekiller.sh 从您的终端。 这将通过端口 8000-9000 循环并终止这些进程。

我很难验证它是否有效,因为我在 运行 在 OS X El Capitan 中使用你的命令时得到以下信息,

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

顺便说一句,我稍微更改了您的命令,从 lost 更改为 lost,假设您拼错了二进制文件的名称。