【发布时间】:2019-04-25 00:18:03
【问题描述】:
我正在尝试获取 PID 列表,并在从 /proc/<PID>/limits 文件打印 Max open files 之后。
我找到了一种方法,但我想知道是否可以做一些更简单的事情。
它基本上会搜索haproxy(在这个例子中睡眠:D),搜索Max open files,最后读取在第一个awk上匹配的所有进程的限制文件。
代码是:
ps aux | awk '/sleep/ && !/awk/ { print $2 }' | xargs -I{} awk '/Max open files/{ print "PID="{}"\t\t"$0 }' /proc/{}/limits
结果会是这样的:
PID=16 Max open files 1048576 1048576 files
PID=17 Max open files 1048576 1048576 files
PID=18 Max open files 1048576 1048576 files
PID=19 Max open files 1048576 1048576 files
PID=20 Max open files 1048576 1048576 files
PID=21 Max open files 1048576 1048576 files
PID=22 Max open files 1048576 1048576 files
PID=23 Max open files 1048576 1048576 files
PID=24 Max open files 1048576 1048576 files
PID=25 Max open files 1048576 1048576 files
PID=26 Max open files 1048576 1048576 files
PID=27 Max open files 1048576 1048576 files
【问题讨论】: