6

Количество используемых pty, как сообщается в /proc/sys/kernel/pty/nr постоянно увеличивается на моем сервере 2.6.32 .

Как я могу узнать, какие процессы используют ptys, если не убивать их один за другим и проверять, уменьшается ли количество использований?

3 ответа3

3

Это кажется ошибкой в ядре Linux 1 - счетчик никогда не уменьшается, даже если ptys освобожден.

В стандартной установке 2 в ls /dev/pts должны отображаться фактические ptys, выделенные на данный момент, и вы можете запустить lsof на них, чтобы вывести список всех процессов, использующих конкретный pty (или любой другой файл, в этом отношении).


1 Исправлено в Linux 3.2.
2 Один экземпляр devpts .

1

Попробуйте использовать fuser или lsof чтобы увидеть, какой процесс их использует.

0

Это показывает, что вы хотите:

find /proc -maxdepth 1 -тип d -name "[0-9] *" | пока читаешь ф; do echo $(cat "$ f /cmdline") "$ {f:6}" $(ссылка для чтения "$ f /fd /0"); сделанный

хорошо, чтобы разбить эту вещь:- найти все каталоги, которые содержат только числа в proc - только в proc, без подкаталогов. условно, это только идентификаторы процессов. - в то время как read читает каждую строку и сохраняет ее в переменной оболочки (если бы это был скрипт, я бы назвал его procpiddir или что-то классное в этом роде - это значит, я бы назвал это кратким). - файл cmdline сообщает вам, что было выполнено для создания этого pid (не совсем, но мы пойдем с этим) - $ {f:6} - манипуляция с переменной bash - в основном отбрасывает первые 6 символов в имени - '/proc/'в этом случае - readlink следует за ссылкой на свое заключение. Так как fd0 - это стандартный ввод (fd1 - это стандартный вывод, fd2 - это stderr), то имеет смысл только привести вас к tty, под которым выполняется процесс.

нет веской причины для цитирования этого материала - ни в одной из этих переменных не было бы пробелов или других забавных символов. это просто привычка. о, и $(cmd) делает вид, что вывод команды является переменной оболочки (возможно, кто-то лучше с bash должен объяснить это лучше или найти вспомогательные ссылки - это afaik).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .