मैं यह पता लगाना चाहूंगा कि वर्तमान में कौन सी प्रक्रिया लिनक्स में एक निश्चित पोर्ट का उपयोग कर रही है। क्या इसे करने का कोई तरीका है?
मैं यह पता लगाना चाहूंगा कि वर्तमान में कौन सी प्रक्रिया लिनक्स में एक निश्चित पोर्ट का उपयोग कर रही है। क्या इसे करने का कोई तरीका है?
जवाबों:
आपके पास विकल्पों की एक जोड़ी है:
lsof -i tcp:80
आपको टीसीपी पोर्ट 80 का उपयोग करके प्रक्रियाओं की सूची देगा।
वैकल्पिक रूप से,
sudo netstat -nlp
आपको सभी खुले नेटवर्क कनेक्शन देगा।
lsof -i | grep {username}
यह भी बहुत उपयोगी है, अर्थातlsof -i | grep apache
-n
:: नामों को हल न करें -l
: सुनने वाले सर्वर सॉकेट -p
प्रदर्शित करें,: सॉकेट्स के लिए पीआईडी / प्रोग्राम का नाम प्रदर्शित करें।
-P
के लिए lsof -i tcp:$PORTNUMBER
इतना है कि बंदरगाह मेरे पास वापस एक संख्या के रूप में मुद्रित किया जाता है।
मैं "सेंटो 7 न्यूनतम" का उपयोग कर रहा हूं, जिसमें न netstat
तो है और न ही lsof
। लेकिन बहुत सारे लिनक्स वितरण में सॉकेट स्टैटिस्टिक्स कमांड (यानी ss
) होता है।
यहाँ निष्पादन का एक उदाहरण है:
# ss -tanp | grep 6379
LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=2531,fd=4))
netstat -anb