लिनक्स में एक निश्चित पोर्ट का उपयोग करने वाली प्रक्रिया का पता लगाना


139

मैं यह पता लगाना चाहूंगा कि वर्तमान में कौन सी प्रक्रिया लिनक्स में एक निश्चित पोर्ट का उपयोग कर रही है। क्या इसे करने का कोई तरीका है?


3
विंडोज पर, कमांड है: netstat -anb
djangofan

जवाबों:


144

आपके पास विकल्पों की एक जोड़ी है:

lsof -i tcp:80

आपको टीसीपी पोर्ट 80 का उपयोग करके प्रक्रियाओं की सूची देगा।

वैकल्पिक रूप से,

sudo netstat -nlp

आपको सभी खुले नेटवर्क कनेक्शन देगा।


2
lsof -i | grep {username}यह भी बहुत उपयोगी है, अर्थातlsof -i | grep apache
लॉरेंस

1
सोच रहे लोगों के लिए -n:: नामों को हल न करें -l: सुनने वाले सर्वर सॉकेट -pप्रदर्शित करें,: सॉकेट्स के लिए पीआईडी ​​/ प्रोग्राम का नाम प्रदर्शित करें।
येलवोन

मैं आमतौर पर जोड़ने -Pके लिए lsof -i tcp:$PORTNUMBERइतना है कि बंदरगाह मेरे पास वापस एक संख्या के रूप में मुद्रित किया जाता है।
जे.एस.

9
netstat -lp

4
मैक पर आपको -p में एक प्रोटोकॉल विकल्प जोड़ना होगा। तो कुछ इस तरह: netstat -lp tcp।
वृष v

8

मैं "सेंटो 7 न्यूनतम" का उपयोग कर रहा हूं, जिसमें न netstatतो है और न ही lsof। लेकिन बहुत सारे लिनक्स वितरण में सॉकेट स्टैटिस्टिक्स कमांड (यानी ss) होता है।

यहाँ निष्पादन का एक उदाहरण है:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

2

लिनक्स में, पोर्ट पर चलने वाली प्रक्रिया को खोजने के लिए, नीचे करें:

lsof -i :<port_number>

उदाहरण:

lsof -i :8080

सहायता का प्रयास करने के लिए धन्यवाद। स्वीकृत आदेश में इस आदेश का उल्लेख किया गया था। यदि आपके पास कुछ नया है, तो कृपया अपनी पोस्ट को संपादित करें।
बेन एन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.