मैक ओएस एक्स पर "फ्यूज़र -v -n tcp" विकल्प के रूप में आप क्या उपयोग करते हैं


10

मैक ओएस एक्स पर फ़्यूज़र कमांड बल्कि आदिम है और एक विशिष्ट पोर्ट पर सुनने वाली प्रक्रियाओं की जांच नहीं कर सकता है। क्या कोई अच्छा विकल्प जानता है? यह जानना पर्याप्त है कि कौन सी प्रक्रिया उस एक बंदरगाह पर सुन रही है।


1
कोशिश करेंsudo lsof -i -P
vcsjones 17

मैं इस धारणा के तहत था कि lsof` केवल तभी काम करता है जब कोई कार्य वास्तव में पोर्ट से जुड़ता है। इसके अलावा एक | grep portnoसार्थक परिणाम प्राप्त करने के लिए कम से कम एक की आवश्यकता होगी ।
मार्टिन

जवाबों:


14

जैसा कि @vcsjones ने टिप्पणियों में कहा, lsofइसके लिए उपकरण है:

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

इसके बिना -i, यह सभी खुली फाइलों को दिखाता है; केवल -iयह केवल नेटवर्क फ़ाइलों को दिखाता है; यदि आप -iकिसी भी या सभी के द्वारा प्रतिबंधित कर सकते हैं तो कुछ निर्दिष्ट करें : IPv4 / 6, TCP / UDP, hostname या IP, और पोर्ट नंबर / सेवा नाम।


2
बस किसी मामले में यह मेरे लिए उपयोगी है जैसे किसी दिए गए पोर्ट का उपयोग करके सभी प्रक्रियाओं lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs killको
नेत्रहीन रूप से मारना है:
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.