Saya tahu ini adalah pertanyaan lama, tetapi saya akan menyarankan pendekatan lain untuk berjaga-jaga seandainya seseorang menemukan itu berguna. Saya awalnya memposting ini sebagai jawaban untuk pertanyaan yang ditipu untuk yang satu ini.
Satu pilihan adalah menggunakan sysdig
: aplikasi pemantauan sistem sumber terbuka. Dengan menggunakannya, Anda dapat memantau aktivitas pada file dengan nama. Misalkan Anda ingin melihat proses apa yang membuat file bernama /tmp/example.txt
:
# sysdig fd.name=/tmp/example.txt
567335 16:18:39.654437223 0 touch (5470) < openat fd=3(<f>/tmp/example.txt) dirfd=-100(AT_FDCWD) name=/tmp/example.txt flags=70(O_NONBLOCK|O_CREAT|O_WRONLY) mode=0666
567336 16:18:39.654438248 0 touch (5470) > dup fd=3(<f>/tmp/example.txt)
567337 16:18:39.654438592 0 touch (5470) < dup res=0(<f>/tmp/example.txt)
567338 16:18:39.654439629 0 touch (5470) > close fd=3(<f>/tmp/example.txt)
567339 16:18:39.654439764 0 touch (5470) < close res=0
567342 16:18:39.654441958 0 touch (5470) > close fd=0(<f>/tmp/example.txt)
567343 16:18:39.654442111 0 touch (5470) < close res=0
Dari output itu, Anda dapat melihat proses yang dinamai touch
dengan pid 5470 membuka file.
Jika Anda menginginkan informasi lebih lanjut, Anda dapat menjalankan dalam "mode pengambilan" tempat jejak panggilan sistem dikumpulkan:
# sysdig -w /tmp/dumpfile.scap
Kemudian tunggu file dibuat, lalu berhenti sysdig
dan jalankan:
# csysdig -r /tmp/dumpfile.scap
Itu akan membiarkan Anda menjelajahi semua yang terjadi. Anda dapat menekan <F2>
dan memilih Files
, tekan <F4>
untuk mencari nama file, lalu tekan<F6>
untuk "menggali" (yang akan menunjukkan kepada Anda keluaran yang mirip dengan perintah di atas). Dengan itu, Anda kemudian dapat menggunakan pendekatan yang sama untuk menemukan informasi tentang proses yang sebenarnya membuat file.
Ada versi GUI yang csysdig
disebut sysdig-inspect
, jika itu lebih dari secangkir teh Anda.