सवाल लिनक्स में एक निश्चित बंदरगाह का उपयोग कर रहे प्रक्रिया को ढूँढना


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


130
2017-09-17 18:52


मूल


विंडोज़ पर, आदेश है: netstat -anb - djangofan


जवाब:


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

lsof -i tcp:80

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

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

sudo netstat -nlp

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


132
2017-09-17 19:03



lsof -i | grep {username} भी बहुत उपयोगी है, यानी lsof -i | grep apache - LawrenceC
किसी के लिए सोचने के लिए, -n : नाम हल नहीं करें, -l : सर्वर सॉकेट सुनना प्रदर्शित करें, -p : सॉकेट के लिए पीआईडी ​​/ प्रोग्राम नाम प्रदर्शित करें। - yellavon
मैं आमतौर पर जोड़ता हूं -P सेवा मेरे lsof -i tcp:$PORTNUMBER ताकि बंदरगाह मुझे एक संख्या के रूप में वापस मुद्रित हो जाए। - js.


netstat -lp

9
2017-09-17 18:54



मैक पर आपको -p के लिए प्रोटोकॉल विकल्प जोड़ना होगा। तो कुछ ऐसा: netstat -lp टीसीपी। - vrish88
लिनक्स पर, -पी सॉकेट के मालिक की प्रक्रिया सूचीबद्ध करता है। - Jürgen Strobel


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

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

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

7
2017-10-29 20:54





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

lsof -i :<port_number>

उदाहरण:

lsof -i :8080

2
2018-01-05 19:06



सहायता का प्रयास करने के लिए धन्यवाद। इस आदेश का उल्लेख स्वीकृत उत्तर में किया गया था। यदि आपके पास कुछ नया है, तो कृपया अपनी पोस्ट संपादित करें। - Ben N