linux - 杀死命令中特定值位于特定范围之间的进程

标签 linux awk command

我通过脚本运行了很多 curl 进程。这些 curl 进程指定要使用的本地端口。现在我需要根据它们的本地端口终止其中一些进程。例如,我想终止本地端口介于 30000 和 30100 之间的进程。

enter image description here

现在如何只终止本地端口在 30000 和 30100 之间的进程。

我相信我可以编写一个 perl 脚本来解析输出并提取本地端口的值,然后终止满足我的条件的进程,但是有没有一种方法可以使用单个嵌套的 linux 命令来完成它,也许使用 awk?

最佳答案

你可以这样做:

ps -aux | awk '$14>=30000 && $14<=30100 && $0~/curl/ { print $2 }' | xargs kill -9

根据您的屏幕截图,端口值出现在第 14 列($14 保留此值),检查 $0~/curl/ 仅获取那些带有 curl 的行有效地消除了对 grep 的需要。 print $2 打印进程 ID。然后我们将输出通过管道传输到 xargskill

关于linux - 杀死命令中特定值位于特定范围之间的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23258518/

相关文章:

wpf - 如何在mvvm wpf模型中配置Relay命令

linux - 使用 sigaction 捕获信号 SIGSEGV

python - 我使用 Gio GFile Monitor_file 是否错误?

git - 如何获取 Git 的最新稳定版本号?

python - 查找模式并打印下一列(两个文件)

C# MySQL注册系统-Select命令

linux - 反转属性名称和值

linux - 无法连接到 MS SQL 数据库服务器

python - 我想在 csv 文件中对小数点后 4 位小数的 4 列进行四舍五入

.net - WPF。 MVVM。使用事件是不好的口气吗?