Я пытаюсь получить список PID и после печати Max open files
из файла /proc/<PID>/limits
.
Я нашел способ, но мне было интересно, можно ли сделать что-то более простое.
Он будет в основном искать 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