আমি জানি এটি একটি পুরানো প্রশ্ন, তবে কেউ যদি এটির কাজে লাগে সে ক্ষেত্রে আমি অন্য পদ্ধতির পরামর্শ দেব। আমি মূলত এটির একটি প্রশ্নের উত্তর হিসাবে পোস্ট করেছি যা এইটির সাথে ছলছল করা হয়েছিল।
একটি বিকল্প ব্যবহার করা হয় sysdig
: একটি ওপেন-সোর্স সিস্টেম মনিটরিং অ্যাপ্লিকেশন। এটি ব্যবহার করে, আপনি নাম দ্বারা কোনও ফাইলে ক্রিয়াকলাপ পর্যবেক্ষণ করতে পারেন। মনে করুন যে আপনি কী প্রক্রিয়া নামের একটি ফাইল তৈরি করছেন তা দেখতে চেয়েছিলেন /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
এই আউটপুট থেকে, আপনি দেখতে পাবেন যে touch
পিড 5470 নামের একটি প্রক্রিয়া ফাইলটি খোলেনি।
আপনি যদি আরও তথ্য চান, আপনি "ক্যাপচার মোডে" চালাতে পারেন যেখানে একটি সিস্টেম কল ট্রেস সংগ্রহ করা হয়:
# sysdig -w /tmp/dumpfile.scap
তারপরে ফাইলটি তৈরি হওয়ার জন্য অপেক্ষা করুন, তারপরে থামুন sysdig
এবং চালনা করুন:
# csysdig -r /tmp/dumpfile.scap
এটি আপনাকে যা কিছু ঘটেছিল তা আবিষ্কার করতে দেবে। আপনি টিপতে <F2>
এবং নির্বাচন করতে পারেন Files
, <F4>
ফাইলটির নাম অনুসন্ধান করতে টিপুন , তারপরে <F6>
"খনন" টিপুন (যা আপনাকে উপরের কমান্ডের অনুরূপ আউটপুট প্রদর্শন করবে)। এটির সাহায্যে আপনি সেই প্রক্রিয়াটি সম্পর্কে তথ্য খুঁজতে একই পন্থাটি ব্যবহার করতে পারেন যা প্রকৃতপক্ষে ফাইলটি তৈরি করেছে created
সেখানে একটি GUI সংস্করণ csysdig
বলা sysdig-inspect
, যদি যে আরো চা আপনার কাপ আছে।