क्या किसी पीआईडी (प्रोसेस आईडी) से नेटवर्क कनेक्शन को टाईस या नेटस्टैट के बिना टाई करने का कोई तरीका है?lsof या netstat का उपयोग किये बिना पीआईडी से नेटवर्क कनेक्शन कैसे बांधें?
वर्तमान में एलएसओफ़ का उपयोग यह पता लगाने के लिए किया जा रहा है कि कौन से कनेक्शन संबंधित प्रक्रिया आईडी हैं। हालांकि एक व्यस्त मेजबान पर lsof या netstat काफी महंगा हो सकता है और इन उपकरणों के लिए कांटा से बचने के लिए चाहते हैं।
क्या कोई जगह/proc/$ pid के समान है जहां कोई यह जानकारी ढूंढ सकता है? मुझे पता है कि नेटवर्क कनेक्शन/proc/net की जांच करके क्या हैं, लेकिन यह पता नहीं लगा सकता कि इसे वापस एक पिड से कैसे बांधें।/Proc/$ pid में, कोई नेटवर्क जानकारी प्रतीत नहीं होती है।
लक्ष्य होस्ट लिनक्स 2.4 और सोलारिस 8 से 10 हैं। यदि संभव हो तो पर्ल में एक समाधान, लेकिन मैं सी/सी ++ करने के इच्छुक हूं।
अतिरिक्त नोट्स:
मैं यहाँ लक्ष्य पर जोर देना चाहते हैं एक पीआईडी लिए एक नेटवर्क कनेक्शन टाई करने के लिए है। एक या दूसरे को प्राप्त करना तुच्छ है, लेकिन दोनों को कम लागत वाले तरीके से एक साथ रखना कठिन लगता है। अब तक के उत्तरों के लिए धन्यवाद!
मैं थोड़ी देर वापस netstat पर नजर। मुझे पूरा यकीन है कि यह सिर्फ कनेक्शन के कैश के निर्माण/proc के माध्यम से हल करता है। मुझे नहीं लगता कि वहां कोई जादू चल रहा है। – Duck
@ डक कोई जादू की आवश्यकता नहीं :-) और यह अभी भी कोड कॉपी करने का एक अच्छा संदर्भ है, क्योंकि उसने एक बच्चे की प्रक्रिया में नेटस्टैट चलाने की इच्छा नहीं रखने के बारे में एक बिंदु बनाया है। – lothar