একটি প্রক্রিয়া দ্বারা খোলার / অ্যাক্সেস করা ফাইলগুলি ক্রমাগত নিরীক্ষণ


24

lsof -p 12345 প্রক্রিয়া দ্বারা খোলার সমস্ত ফাইল তালিকাভুক্ত করবে যার পিড 12345 তবে কেবলমাত্র নির্দিষ্ট সময়ের জন্য।

পুরো জীবনকালে প্রক্রিয়াটিতে অ্যাক্সেস করা প্রতিটি ফাইলের তালিকা / প্রদর্শন করতে আমরা কীভাবে শুরু থেকে শেষ পর্যন্ত (প্রক্রিয়াটি শেষ না হওয়া পর্যন্ত) একটি প্রক্রিয়া পর্যবেক্ষণ করতে পারি?


উত্তর:


31

দিয়ে চেষ্টা করুন strace -p 12345; এটি আপনি অর্জন করার চেষ্টা করছেন তা করা উচিত।

আউটপুটটি কেবল খোলা ফাইলগুলি প্রদর্শন করতে ফিল্টার করা যেতে পারে ( ড্যান ডি এর মন্তব্য ):

strace -e open -p 12345

দ্রষ্টব্য: আপনি এর সাথে দ্রুত চলমান প্রক্রিয়াগুলিও সনাক্ত করতে পারেন strace -e open <command>


আউটপুট বন্ধুত্বপূর্ণ এবং অত্যধিক অতিরিক্ত জিনিস নয়।
এমএ 1

আপনি পাইপ দিয়ে এটি ঠিক করতে পারেন - strace -p {pid} | grep -i "Open" | tee files_opened.log। মূলটি হ'ল grep, যা আপনাকে (যেমন open()) যে সিস্টেম কল করতে চায় তার আউটপুট ফিল্টার করতে দেয় ।

11
@Ninefingers বাস্তবিক straceযে এর চেয়ে ভালো কিছু করতে পারি grepসঙ্গে -e: বিকল্পstrace -e open
ড্যান ডি

@ ড্যান্ড ওহ হ্যাঁ,

যখন আমি স্ট্রেস কমান্ডটি হত্যা করি, এটি এটি চিহ্নিত করা জিনিসটিকেও হত্যা করে। কেন এটি হচ্ছে (সাইগউইন)?
সিএমসিডিগ্রাগনকাই

6

নতুন ইউটিলিটি ফ্যাট্রেস এটি করবে: https://launchpad.net/fatrace/

sudo fatrace | grep '(6514)'

-P বিকল্পটি ব্যবহার করবেন না, এর অর্থ lsof বা অন্যান্য ইউটিলিটিগুলিতে যা বোঝায় তার বিপরীত।


3

এটি আপনার কমান্ডটি পুনরায় চালু করবে এবং প্রতিবার স্ক্রিন সাফ করবে:

watch "lsof -p 12345"

সতর্কতা: এটি দ্রুত ফাইল অ্যাক্সেস মিস করবে এবং দীর্ঘ স্থায়ী ফাইলগুলি দেখার জন্য উপযুক্ত


2
এটি অন্যান্য উত্তর ব্যবহারের তুলনায় কিছুটা আনাড়ি strace
ডেভিড ফোস্টার 17

1
এটি সঠিক নয় - কোনও প্রক্রিয়াlsof
ডোর

@ ডোর আপনি lsof এর সময় নির্ধারণ করতে পারবেন সাব 1 সেকেন্ডে এবং এটির নির্ভুলতা বাড়িয়ে তুলতে পারেন। এটি অন্যের তুলনায় আনাড়ি হওয়া সত্ত্বেও, আপনি এটি ভুল যে এটি একটি ভুল সমাধান।
জর্ডন বেডওয়েল

যদি আপনি দীর্ঘ ফাইল অপারেশনটির দিকে তাকান (যেমন একটি ডাটাবেস ব্যাকআপ) এটি একটি ভাল সহজ বিকল্প হতে পারে।
jcalfi314
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.