Tentukan file apa yang sedang diakses oleh suatu proses


9

Bagaimana saya mengetahui semua file yang diakses oleh proses tertentu?

Saya menggunakan Ubuntu 9.04.

Jawaban:


11

lsof akan mendaftar file yang terbuka dan ID proses yang terkait. Ini mendaftar semua jika tidak ada opsi yang diberikan.

Ada opsi,, -puntuk membuat daftar file yang terbuka untuk satu proses. Jadi untuk proses dengan PID 6714 ini akan mencantumkan file yang dibuka oleh proses itu:

    lsof -p 6714

Untuk daftar, hanya file biasa grep yang dapat digunakan untuk memfilter keluaran lsof:

    lsof -p 6714 | grep REG

Jika perlu lebih kuat daripada dengan grep maka -Fopsi dapat digunakan, tetapi kemudian menjadi lebih kompleks. Dari halaman manual lsof :

Ketika opsi -F ditentukan, lsof menghasilkan output yang cocok untuk diproses oleh program lain - misalnya, skrip awk atau Perl, atau program C.

Itu tergantung pada kebutuhan Anda.


1
Saya ingin menambahkan '-b' ke lsof, ini akan sedikit lebih cepat. Juga, saya menambahkan 2> / dev / null sebelum pipa untuk grep.
kbyrd
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.