Как указать количество открытых дескрипторов файлов по процессам для всех процессов в Unix?

Мне нужно перечислить каждый процесс и сколько дескрипторов файлов открыты для этого процесса, чтобы я мог понять, какие процессы содержат слишком много открытых файлов. Нет, мне не нужно количество открытых файлов только для одного процесса, как задавали другие вопросы. Мне нужно знать номер для каждого работающего процесса, желательно отсортированного в порядке убывания.

lsof не похоже, что он может это сделать. Есть ли какая-нибудь другая полезность или что-то, что может это сделать?

  • lsof: нет записи pwd для UID
  • Привод Mac используется, понимая lsof
  • Команда lsof слишком длинна для определенного идентификатора процесса
  • Установленное устройство занято, потому что bash использует громкость
  • Список только команд с lsof
  • Как интерпретировать этот вывод команды lsof?
  • отдельный lsof вывод по столбцу
  • Отслеживание файлов, которые используются программой
  • 2 Solutions collect form web for “Как указать количество открытых дескрипторов файлов по процессам для всех процессов в Unix?”

    Я бы сделал что-то вроде:

     sudo lsof -FKc | awk ' function process() { if (pid || tid) { print n, \ tid ? tid " (thread of " pid ": " pname")" : pid, \ name n = tid = 0 } } {value = substr($0, 2)} /^p/ { process() pid = value next } /^K/ { tid = value next } /^c/ { name = value if (!tid) pname = value next } /^f/ {n++} END {process()}' | sort -rn 

    Для количества открытых файлов и замените /^f/ на /^f[0-9]/ для числа дескрипторов открытых файлов .

    Это будет работать как минимум с Solaris и Linux и, вероятно, с большинством других ОС, поддерживающих файловую систему /proc :

     #!/bin/sh cd /proc echo " count pid" ls -d [1-9]*/fd/* 2>/dev/null | sed 's/\/fd.*$//' | uniq -c | sort -rn 

    Используйте -rg вместо -rg в Linux или других операционных системах, используя sort GNU.

    Interesting Posts

    Команда «время безотказной работы» возвращает «средний»

    Как установить Fedora и Debian в один расширенный раздел?

    Как сделать снимок экрана / dev / pts?

    использование «-vvv» с «-w FILENAME» с tcpdump делает лучший вывод?

    Может кто-нибудь объяснить это странное поведение ПП?

    Почему я не могу подключиться?

    Как я выдаю себя за пользователя учетной записи домена Windows из процесса linux?

    Проблема подключения к L2TP VPN

    Поддерживают ли Linux-терминалы и шрифты с открытым исходным кодом лигатуры?

    Как ядро ​​Linux инициализирует консольную графику?

    Есть ли способ определить, какое приложение перехватывает сочетание клавиш?

    Решено: KDE Plasma 5 на Fedora 22 – нажатие на ссылку рабочего стола на файл .odt (.doc) не запускает OpenOffice

    C компилятор не может создать исполняемый файл exit 77

    Как настроить параметры клавиатуры и профиля при подключении к Solaris через SSH?

    что является лучшим каталогом для хранения загруженных файлов / изображений с моего сайта

    Linux и Unix - лучшая ОС в мире.