Alat yang paling berguna adalah lsof
. Ini menunjukkan file apa yang digunakan oleh proses apa. Jika /media/KINGSTONadalah titik pemasangan (nama perangkat juga akan berfungsi), perintah berikut menunjukkan semua file yang digunakan pada titik pemasangan ini:
lsof /media/KINGSTON
Jika Anda menjalankan perintah ini sebagai pengguna biasa, itu hanya akan menunjukkan proses Anda sendiri¹. Jalankan sudo lsof /media/KINGSTONuntuk melihat semua proses pengguna.
Output dari lsofterlihat seperti ini:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zsh4 31421 gilles cwd DIR 8,1 4096 130498 /var/tmp
zsh4 31421 gilles txt REG 8,1 550804 821292 /bin/zsh4
zsh4 31421 gilles mem REG 8,1 55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so
zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc
The COMMANDkolom menunjukkan nama program dieksekusi dan PIDkolom menunjukkan proses ID. The NAMEkolom menunjukkan nama file; Anda mungkin melihat (deleted)apakah file itu dihapus saat terbuka (ketika file dihapus, itu tidak lagi memiliki nama, tetapi masih ada sampai proses terakhir menggunakannya menutup file). USERharus jelas. Kolom lain tidak penting di sini kecuali mungkin FD, yang menunjukkan bagaimana file digunakan oleh proses:
cwd: direktori kerja saat ini
txt: program executable²
mem: file yang dipetakan memori (di sini, anggap sebagai file terbuka)
- a number: file terbuka aktual; huruf berikutnya menunjukkan mode pembuka, seperti
runtuk membaca dan wmenulis
Tidak ada cara mekanis untuk menemukan jendela tempat file dibuka (ini sebenarnya tidak bermakna secara teknis: jika suatu proses memiliki beberapa jendela, file tidak secara khusus dikaitkan dengan satu jendela atau lainnya), atau bahkan tidak ada cara sederhana untuk mengidentifikasi jendela proses (dan tentu saja suatu proses tidak harus memiliki jendela apa pun). Tetapi biasanya nama perintah dan nama file sudah cukup untuk menemukan pelaku dan menutup file dengan benar.
Jika Anda tidak dapat menutup file dan hanya ingin mengakhiri semuanya, Anda dapat mematikan prosesnya dengan kill 31421(di mana 31421ID prosesnya) atau kill -HUP 31421("menutup telepon"). Jika pembunuhan polos tidak melakukan trik, membunuh dengan prasangka ekstrem: kill -KILL 31421.
Ada GUI untuk lsof, glsof , tetapi belum cukup siap untuk prime time, dan belum dikemas untuk Ubuntu sejauh ini.
¹
Lsof dapat mencantumkan beberapa informasi tentang proses pengguna lain, tetapi tidak mendeteksi titik pemasangan jadi tidak akan mencantumkannya jika Anda menetapkan titik pemasangan.
²
Kode yang dapat dieksekusi sering disebut teks dalam diskusi format yang dapat dieksekusi.