GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa mengetahui file apa yang telah dibuka oleh suatu proses?

Solusi 1:

Saya suka lsof , tapi saya pikir itu berlebihan untuk pertanyaan sederhana seperti ini. /proc filesystem berisi semua yang ingin Anda ketahui. Mungkin contoh yang terbaik:

# ps ax|grep tail
 7196 pts/4    S+     0:00 tail -f /var/log/messages
 8773 pts/0    R+     0:00 grep tail
# ls -l /proc/7196/cwd
lrwxrwxrwx 1 insyte insyte 0 2009-07-29 19:05 /proc/7196/cwd -> /home/insyte
# ls -l /proc/7196/fd
total 0
lrwx------ 1 insyte insyte 64 2009-07-29 19:05 0 -> /dev/pts/4
lrwx------ 1 insyte insyte 64 2009-07-29 19:05 1 -> /dev/pts/4
lrwx------ 1 insyte insyte 64 2009-07-29 19:02 2 -> /dev/pts/4
lr-x------ 1 insyte insyte 64 2009-07-29 19:05 3 -> /var/log/messages

Jadi seperti yang Anda lihat, /proc/$PID direktori berisi symlink yang disebut "cwd" yang menautkan CWD dari proses tersebut. Hal yang sama berlaku untuk deskriptor file terbuka yang terdaftar di /proc/$PID/fd .

/proc/$PID hierarki berisi banyak informasi tentang semua proses yang berjalan. Layak untuk dicoba!

Solusi 2:

Jika Anda memiliki perintah lsof tersedia [yang paling banyak *nix rasa] yang akan Anda gunakan:

lsof -p NNN

untuk membuat daftar file yang dibuka oleh proses NNN. Saya sudah lama tidak menggunakan BSD kecuali dari memori fuser sangat mirip dengan lsof.

Saya tidak yakin dengan perintah untuk menemukan cwd dari suatu proses tetapi pada Linux cwd disinkronkan ke direktori / proc dari proses yaitu. /proc/NNN/cwd.

Solusi 3:

jika Anda tahu PID prosesnya, Anda bisa mengeluarkan

lsof | grep YOURPID

Cepat dan mudah diingat.

atau

lsof -c yourprogramexecutable

Solusi 4:

Coba lsof jika diinstal di sistem Anda

D


Linux
  1. Cara Meningkatkan Jumlah Batas File Terbuka di Linux

  2. Bagaimana Cara Menentukan Proses Yang Membuat File??

  3. Bagaimana Mengenalinya Jika Sebuah File Sedang Diunduh Oleh Wget?

  1. Bagaimana Cara Memeriksa Sinyal Apa yang Didengarkan oleh Proses?

  2. Bagaimana cara mengetahui proses apa yang mengunci file di Linux?

  3. Bagaimana saya bisa tahu di Linux proses mana yang mengirim sinyal ke proses saya

  1. Bagaimana saya bisa mendapatkan kembali fungsi utama saya?

  2. Bagaimana cara mengatur file terbuka nginx max?

  3. Bagaimana saya bisa menentukan proses apa yang membuka file di Linux?