Apakah ada cara untuk membuat daftar semua file yang saat ini dibuka oleh proses tertentu di Windows?
Maksud saya file yang punya fopen
, tetapi tidak pernah didapat fclose
dengan proses tertentu.
Saya mencoba menggunakan Sysinternals Process Monitor, tetapi saya tidak tahu bagaimana cara membuat daftar file yang sedang dibuka - tetapi hanya ketika pembukaan terjadi.
Jawaban:
Anda bisa mencoba Sysinternals Process Explorer alih-alih Process Monitor. Monitor Proses dirancang untuk mengamati proses apa yang dilakukan saat itu. Process Explorer lebih untuk melihat kondisi proses saat ini; itu adalah Task Manager tetapi dengan fungsionalitas sekitar 10x.
Sysinternals juga memiliki
handle.exe
alat baris perintah yang memberi tahu Anda file mana yang prosesnya terbuka.sumber
Lihat Process Explorer dari Sysinternals.
Untuk melihat file yang terbuka untuk suatu proses, pilih proses dari daftar, pilih opsi menu View-> Lower Panel View-> Handles. Semua pegangan jenis "File" adalah file yang terbuka.
Juga, cara yang bagus untuk menemukan aplikasi mana yang memiliki file terbuka adalah dengan menggunakan opsi menu Find-> Handle atau DLL. Cukup masukkan nama file yang Anda cari dan tekan "Cari" untuk menemukan proses dengan file terbuka yang cocok dengan string pencarian.
sumber
Process Explorer dari Sysinternals sebenarnya sangat tidak berguna ketika berurusan dengan menangani file (sebagai lawan dari DLL, dll.). Gunakan Windows Resource Monitor, klik pada tab CPU. Di sebelah Associated Handles ketik nama file dan Anda akan melihat siapa yang membukanya.
sumber
Seperti yang Dave katakan dengan benar, gunakan Process Explorer dari SysInternals, selain itu mereka menawarkan beragam utilitas. Checkout: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx
sumber