GNU/Linux >> Belajar Linux >  >> Linux

Cara menampilkan deskriptor file terbuka tetapi tidak menggunakan perintah lsof

Ada dua alasan lsof | wc -l tidak menghitung deskriptor file. Salah satunya adalah daftar hal-hal yang bukan file terbuka, seperti perpustakaan yang dimuat secara dinamis dan direktori kerja saat ini; Anda perlu memfilternya. Lainnya adalah lsof itu membutuhkan waktu untuk berjalan, sehingga dapat melewatkan file yang dibuka atau ditutup saat sedang berjalan; oleh karena itu jumlah file terbuka yang terdaftar adalah perkiraan. Melihat /proc/sys/fs/file-nr memberi Anda nilai pasti pada titik waktu tertentu.

cat /proc/sys/fs/file-nr hanya berguna saat Anda membutuhkan angka yang tepat, terutama untuk memeriksa habisnya sumber daya. Jika Anda ingin membuat daftar file yang terbuka, Anda perlu memanggil lsof , atau gunakan beberapa metode yang setara seperti menjaring /proc/*/fd secara manual.


Informasi proses disimpan secara dinamis oleh sistem dalam direktori di bawah /proc. Misalnya proses dengan PID 1234 akan memiliki direktori bernama /proc/1234.

Ada cukup banyak informasi di sana tetapi saat ini Anda tertarik dengan /proc/1234/fd subdirektori.

CATATAN:Anda harus memiliki izin root untuk melihat atau membuka file untuk proses yang bukan milik Anda, serta untuk proses SetUID.

Contoh:

[email protected]:/proc# ls -l 2443/fd
total 0
lr-x------ 1 johan johan 64 Feb 27 10:26 0 -> pipe:[13637]
l-wx------ 1 johan johan 64 Feb 27 10:26 1 -> /home/johan/.xsession-errors
lrwx------ 1 johan johan 64 Feb 27 10:26 10 -> anon_inode:[eventfd]
lrwx------ 1 johan johan 64 Feb 27 10:26 11 -> anon_inode:[eventfd]
lrwx------ 1 johan johan 64 Feb 27 10:26 12 -> socket:[39495]
lrwx------ 1 johan johan 64 Feb 27 10:26 13 -> anon_inode:[eventfd]
lr-x------ 1 johan johan 64 Feb 27 10:26 14 -> anon_inode:inotify
lrwx------ 1 johan johan 64 Feb 27 10:26 15 -> anon_inode:[eventfd]
l-wx------ 1 johan johan 64 Feb 27 10:26 16 -> pipe:[37885]
lr-x------ 1 johan johan 64 Feb 27 10:26 17 -> pipe:[37886]
l-wx------ 1 johan johan 64 Feb 27 10:26 2 -> /home/johan/.xsession-errors
l-wx------ 1 johan johan 64 Feb 27 10:26 21 -> pipe:[167984]
lr-x------ 1 johan johan 64 Feb 27 10:26 22 -> pipe:[167985]
l-wx------ 1 johan johan 64 Feb 27 10:26 23 -> pipe:[170009]
lr-x------ 1 johan johan 64 Feb 27 10:26 24 -> pipe:[170010]
lrwx------ 1 johan johan 64 Feb 27 10:26 3 -> anon_inode:[eventfd]
lr-x------ 1 johan johan 64 Feb 27 10:26 4 -> pipe:[14726]
lrwx------ 1 johan johan 64 Feb 27 10:26 5 -> socket:[14721]
l-wx------ 1 johan johan 64 Feb 27 10:26 6 -> pipe:[14726]
lrwx------ 1 johan johan 64 Feb 27 10:26 7 -> socket:[14730]
lrwx------ 1 johan johan 64 Feb 27 10:26 8 -> socket:[13984]
lrwx------ 1 johan johan 64 Feb 27 10:26 9 -> socket:[14767]

[email protected]:/proc# cat 2443/fdinfo/2
pos:    1244446
flags:  0102001

Lihat juga file lainnya di bawah /proc ... banyak informasi berguna dari sistem berada di sini.


Linux
  1. Cara membagi iso atau file menggunakan perintah 'split' di Linux

  2. Cara membuat file sparse di Linux menggunakan perintah 'dd'

  3. file:perintah tidak ditemukan

  1. Bagaimana cara melampirkan file menggunakan perintah mail di Linux?

  2. Bagaimana cara membuka nama file putus-putus menggunakan terminal?

  3. Cara membuka file di vim menggunakan pipa

  1. Bagaimana mengkonversi file PPK ke PEM menggunakan Command

  2. Cara Menampilkan Baris Tertentu dari File di Baris Perintah Linux

  3. Cara Menghitung CRC Checksum di Linux menggunakan Perintah Cksum