Apakah untuk suatu proses tertentu?

15

Ada bzip2proses yang berjalan di latar belakang dan saya tidak tahu dari mana asalnya. Ini menghabiskan banyak sumber daya. Bisakah saya melakukan sebaliknya lsofuntuk melihat file mana yang sedang diakses oleh proses ini?

Saya telah menunda proses untuk saat ini.

Pieter
sumber

Jawaban:

27

Saya tidak yakin mengapa itu akan menjadi "terbalik lsof" - lsoftidak persis seperti itu. Anda bisa memberikannya -pflag untuk menentukan PID mana yang akan dimasukkan / dikecualikan dalam hasil:

$ lsof -p $(pidof bzip2)
Michael Mrozek
sumber
3
Terbalik dari lsof /path/to/file(yang saya kira adalah mode operasi yang digunakan Pieter).
Gilles 'SO- stop being evil'
Catatan bahwa jika Anda telah ada filter untuk lsof, Anda dapat menggunakan -auntuk DAN mereka bukan ORing mereka: lsof -a -i TCP -p 12345.
wchargin
5

Di /proc/direktori Anda dapat menemukan rincian proses yang berjalan, di direktori terpisah, dengan PID mereka. Deskriptor file mereka disebutkan dalam fd/sub-direktori:

ls -l /proc/$(pidof -s bzip2)/fd/
manatwork
sumber