Как увидеть дескрипторы файлов, например, с помощью «lsof -l»?

StackOverflow https://stackoverflow.com/questions/1338877

Вопрос

Я выполнил команды (источник):

$ exec 3>/tmp/thirdfile
$ exec 4>/tmp/fourthfile
$ echo drib >&3
$ echo drab >&4
$ echo another drib >&3
$ echo another drab >&4
$ exec 3>&-
$ exec 4>&-

Как я могу увидеть дескрипторы файлов, что-то вроде lsof -l?

Это было полезно?

Решение

Я не понимаю, почему бы просто не использовать lsof:

lsof -p $$

$$ переменная оболочки, содержащая идентификатор процесса оболочки

Вы также можете ограничиться только файловыми дескрипторами, например:

lsof -a -d0-65535 -p $$

Другие советы

В Linux вы можете сделать что-то вроде ls -l /proc/$$/fd, который покажет вам, какие файловые дескрипторы открыты в вашей оболочке.

Конечно, заменить $$ с другими номерами для проверки других процессов (по крайней мере, тех, которые у вас есть).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top