Saya menjalankan sesi bash interaktif. Saya telah membuat beberapa deskriptor file, menggunakan exec, dan saya ingin mendaftar apa status sesi bash saya saat ini.
Apakah ada cara untuk membuat daftar deskriptor file yang saat ini terbuka?
linux
bash
file-descriptors
open-files
dangonfast
sumber
sumber
bash
bukan bagian dari kernel, jadi tidak bisa tahu apa yang dilakukan proses lain, bahkan yang sudah dimulai.Jawaban:
Ya, ini akan mencantumkan semua deskriptor file terbuka:
Tentu saja, seperti biasa: 0 adalah stdin, 1 adalah stdout dan 2 adalah stderr.
Keempat adalah file terbuka (untuk menulis) dalam hal ini.
sumber
Dengan asumsi Anda ingin daftar deskriptor file yang dilampirkan ke terminal apa pun, Anda dapat menggunakan
lsof
/fuser
atau serupa seperti:Alat-alat ini pada dasarnya parse
/proc
, jadi Anda juga bisa mengaksesnya/proc/$$/fd/
misalnya:sumber
\/pts\/
menolak file terbuka sepertiexec 4>testfile.txt
Hanya jaringan fd:
sumber