কিভাবে স্ট্রেস ব্যবহার করে শিশু প্রক্রিয়া ট্র্যাক করবেন?


104

আমি ব্যবহার করতাম strace সংক্ষেপে একটি প্রক্রিয়া সংযুক্ত । প্রক্রিয়া 90 টি থ্রেড তৈরি করেছে। আমি যখন আপত্তিকর থ্রেডটি পেয়েছি, তখন আমাকে ক্লান্তিকরভাবে প্যারেন্ট থ্রেড, তারপরে পিতামহী থ্রেড এবং অন্যদিকে মূল প্রক্রিয়াটির সমস্ত উপায় অনুসন্ধান করতে হয়েছিল।

কোন থ্রেড অন্যটি তৈরি করেছে তা দ্রুত বের করার কোনও কৌশল বা সরঞ্জাম আছে? বা আরও ভাল, থ্রেড সৃষ্টির গাছটি মুদ্রণ করুন pstree?


দেখে মনে হচ্ছে @ জেরোগ উত্তরটি গ্রহণ করা উচিত।
jww

উত্তর:


119

strace -fসন্তানের প্রক্রিয়াটি যে fork()সম্পাদনা তা আবিষ্কার করতে।


19

আমি একটি সহজ উপায় দেখতে পাচ্ছি না:

আপনি একাধিক ফাইল (পিড প্রতি এক) উত্পাদন করতে -ffবিকল্পটি ব্যবহার করতে পারেন -o filename

উদাহরণ:

strace -o process_dump -ff ./executable
grep clone process_dump*

এটি আপনাকে কোন পিতামাতার তৈরি করেছে তা দেখতে সহায়তা করবে। সম্ভবত এটি আপনাকে সহায়তা করবে - অন্ততপক্ষে আপনি পিছনের দিকে অনুসন্ধান করতে পারেন।


18

একটি পার্ল স্ক্রিপ্ট বলা হয় strace-graph। এখানে গিথুবের একটি সংস্করণ । এটি ক্রসস্টুল-এনজি সহ প্যাকেজযুক্ত সংস্করণ । এটি আমার ব্যবহৃত ক্রস প্ল্যাটফর্মের জন্যও কাজ করে।

এআরএম লিনাক্স বক্স।

$ ./strace -f -q -s 100 -o app.trc -p 449
$ tftp -pr app.trc 172.0.0.133

X86_64 লিনাক্স বাক্স।

$ ./strace-graph /srv/tftp/app.trc 
 (anon)
  +-- touch /tmp/ppp.sleep
  +-- killall -HUP pppd
  +-- amixer set Speaker 70%
  +-- amixer set Speaker 70%
  +-- amixer set Speaker 70%
  +-- amixer set Speaker 70%
  +-- amixer set Speaker 50%
  +-- amixer set Speaker 70%
  `-- amixer set Speaker 50%

আউটপুটটি মূল ট্রেস লগতে নেভিগেট করতে সহায়তা করতে ব্যবহৃত হতে পারে।


1
খুব সুন্দর, এটি হ'ল প্রায় আমি হ'ল কমপক্ষে বেশ কয়েকদিন ধরে চেয়েছিলাম। আশ্চর্যজনকভাবে, আমি এটি আমার / usr / শেয়ার / ডক / স্ট্রেস / উদাহরণ / এ দেখতে পাচ্ছি।
মাইখাল

0

একক প্রক্রিয়াটির জন্য ট্র্যাফিক ক্যাপচার করতে আপনি ব্যবহার করতে পারেন strace, যেমন @ স্ট্যাকমেট পরামর্শ দিয়েছে।

strace -f -e trace=network -s 10000 -p <PID>;

বা এটি একটি ফাইল আউটপুট।

strace -f -e trace=network -s 10000 -o dumpfile -p <PID>

-fসমস্ত কাঁটাচামচ প্রক্রিয়া -sজন্য, স্ট্রিং আকার মুদ্রণ করতে, এবং -oএকটি ফাইল আউটপুট ডাম্প।

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