我通过脚本运行了很多 curl 进程。这些 curl 进程指定要使用的本地端口。现在我需要根据它们的本地端口终止其中一些进程。例如,我想终止本地端口介于 30000 和 30100 之间的进程。
现在如何只终止本地端口在 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。然后我们将输出通过管道传输到 xargs
和 kill
。
关于linux - 杀死命令中特定值位于特定范围之间的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23258518/