मुझे यह पता लगाना है कि कौन सी प्रक्रिया (विशेष रूप से, प्रक्रिया आईडी) एक दिए गए पोर्ट का उपयोग कर रही है। एक पकड़ है, मैं sudo का उपयोग नहीं करना चाहता, और न ही मैं रूट के रूप में लॉग इन हूं। मैं जिन प्रक्रियाओं के लिए काम करना चाहता हूं, वे उसी उपयोगकर्ता द्वारा चलाए जाते हैं जिसे मैं प्रक्रिया आईडी खोजना चाहता हूं - इसलिए मैंने सोचा होगा कि यह सरल था।
दोनों lsof
और netstat
जब तक मैं उन्हें sudo का उपयोग कर चलाए मुझे प्रक्रिया आईडी बता नहीं होगा - वे मुझे बता देगा कि बंदरगाह हालांकि किया जा रहा है।
कुछ अतिरिक्त संदर्भ के रूप में - मेरे पास विभिन्न ऐप हैं जो एसएसएच के माध्यम से सभी सर्वर से जुड़ते हैं जो मैं प्रबंधित करता हूं, और रिवर्स पोर्ट फॉरवर्ड बनाता हूं। एक बार जब वे सेट हो जाते हैं, तो मेरा सर्वर अग्रेषित पोर्ट का उपयोग करके कुछ प्रसंस्करण करता है, और फिर कनेक्शन को मार दिया जा सकता है। यदि मैं प्रक्रियाओं के लिए विशिष्ट पोर्ट (प्रत्येक ऐप का अपना है) मैप कर सकता हूं, तो यह एक सरल स्क्रिप्ट है। कोई सुझाव?
यह उबंटू बॉक्स पर है, वैसे - लेकिन मैं अनुमान लगा रहा हूं कि अधिकांश लिनक्स डिस्ट्रोस में कोई भी समाधान मानक होगा।
-an
।netstat -pant
यह भी काम करता है और याद रखना आसान है।