当我想杀死给定端口上的进程时(比如8000
)我使用命令:
kill -9 `lsof -i :8000`
有没有办法一次关闭多个端口?我必须杀死端口8000-9000
上的进程并且手动执行此操作效率非常低。
答案 0 :(得分:1)
好的,首先尝试为此提供一个工作脚本。
#!/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 ...或者杀死-l [sigspec]
顺便说一句,我稍微改变了你的命令,从lost
改为lost
,有点假设你拼错了那个二进制文件的名字。