Я бегу в интерактивной сессии Bash. Я создал несколько файловых дескрипторов, используя exec, и я хотел бы перечислить текущий статус моей сессии bash.
Есть ли способ вывести список открытых файловых дескрипторов?
linux
bash
file-descriptors
open-files
dangonfast
источник
источник
bash
не является частью ядра, поэтому он не может знать, что делают другие процессы, даже те, которые он запустил.Ответы:
Да, это будет список всех открытых файловых дескрипторов:
Конечно, как обычно: 0 - это стандартный ввод, 1 - стандартный вывод, а 2 - стандартный вывод.
Четвёртое - это открытый файл (для записи) в этом случае.
источник
Предполагая, что вы хотите перечислить файловые дескрипторы, которые присоединены к любому терминалу, вы можете использовать
lsof
/fuser
или аналогичные им:Эти инструменты в основном разбираются
/proc
, поэтому вы можете просто получить к ним доступ,/proc/$$/fd/
например:источник
\/pts\/
отклоняет открытые файлы, какexec 4>testfile.txt
Только сеть fd:
источник