পাইপের অন্য প্রান্তে কী প্রক্রিয়া রয়েছে তা সন্ধান করুন


34

আমি কয়েকটি প্রক্রিয়াটির কিছু অদ্ভুত আচরণটি সনাক্ত করার চেষ্টা করছি এবং এমন একটি পয়েন্টে পৌঁছেছি যে অতীতকে কীভাবে চিহ্নিত করা যায় তা আমি নিশ্চিত নই। হ্যাং প্রক্রিয়া, যা আমি ব্যবহার করে সংযুক্ত করেছি তা এটি strace -pদেখিয়েছিল:

Process 7926 attached - interrupt to quit
read(3, 

ঠিক আছে, সুতরাং এটি এফডি 3 ইনপুটটির জন্য অপেক্ষা করছে, তাই আমি এটি যাচাই করতে গিয়েছিলাম:

$ ls -l /proc/7926/fd/3
lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922]

ঠিক আছে, সুতরাং এটি একটি পাইপ ... এখন প্রশ্ন - এই পাইপের লেখক কে? আমি স্মরণ করি যে লিনাক্সে ইউনিক্স ডোমেন সকেটের জন্য একটি বিশেষ বৈশিষ্ট্য রয়েছে যেখানে আপনি "বিমূর্ত সকেট নেমস্পেস" অ্যাক্সেসের জন্য NUL বাইট দিয়ে শুরু হওয়া কোনও ফাইল পাথের জন্য অনুরোধ করতে পারেন (এখানে উল্লেখ করা হয়েছে: http://tkhanson.net/cgit.cgi /misc.git/plain/unixdomain/Unix_domain_sockets.html )। আমি নিশ্চিত নই যে পাইপগুলির জন্য সদৃশ কিছু আছে যা আমি গ্রহণ করতে পারি তবে আমি কিছুই পাইনি।

আমি সাহায্যের মতো fuserবা কোনও সরঞ্জাম আশা করছিলাম lsofতবে আমি কোথাও পাই নি।

কোন ধারনা?

উত্তর:


32

সিমলিংক সামগ্রী "পাইপ: [20043922]" একটি অনন্য আইডি; পাইপের অন্য প্রান্তে একটি ম্যাচিং আইডি থাকবে।

(find /proc -type l | xargs ls -l | fgrep 'pipe:[20043922]') 2>/dev/null

আপনি পাইপ উভয় প্রান্ত প্রদর্শন করা উচিত।


1
ভাল চিন্তা, ধন্যবাদ! তদন্ত চলাকালীন আমি এখানে এই থ্রেডটি জুড়ে এখানে সার্ভারফল্ট / কোয়েশনস / 83৮83৩০/২ উপস্থিত হয়েছি তাই আমি ভেবেছিলাম যে আমি অন্যটিকেও এখানে খুব লিংকটি ফেলে দেব।
ফ্যাটালআরারর

2

আপনি lsofকমান্ডটি ব্যবহার করে পাইপ ব্যবহার করে প্রক্রিয়াগুলির তালিকা পেতে পারেন :

lsof | grep 'FIFO.*20043922'

আউটপুটটি পাঠকদের (1 টির মতো এন্ট্রি সহ এফডি কলামে) এবং লেখক (2 ডাবের মতো এন্ট্রি সহ একই কলাম) দেখিয়ে দেবে।

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