AIX के तहत, मैं एक पोर्ट से बंधे प्रोग्राम का पूरा रास्ता कैसे प्राप्त कर सकता हूं?


14

लिनक्स के तहत मैं उपयोग कर सकते हैं netstat -tulpnwऔर ps, जैसे:

# netstat -tulpnw | grep :53
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1482/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1482/named          

# ps aux | fgrep 1482
named     1482  0.0  1.0  93656 44900 ?        Ssl  Sep06   3:17 /usr/sbin/named -u named
root     20221  0.0  0.0   4144   552 pts/0    R+   21:09   0:00 fgrep --color=auto 1482
# 

kshAIX 6 में उपयोग करने पर मैं एक पोर्ट से बंधे प्रोग्राम का पूरा रास्ता कैसे प्राप्त कर सकता हूं ?

जवाबों:


10

के रूप में आईबीएम द्वारा सिफारिश : उपयोग lsof -i -nऔर बंदरगाह XY के लिए देखो। यदि आप से पार्स करने योग्य आउटपुट चाहते हैं lsof, तो -Fध्वज का उपयोग करें और awk के साथ आउटपुट पार्स करें।

आप AIX V5 के लिए पूर्व संकलित बायनेरिज़ प्राप्त कर सकते हैं । मुझे नहीं पता कि वी 6 के लिए पूर्व संकलित बायनेरिज़ हैं या नहीं; अगर वहाँ नहीं हैं, तो स्रोत प्राप्त करें और इसे संकलित करें।


lsof हमेशा AIX: P
LanceBaynes


मशीनों पर हमेशा "lsof" नहीं होता है ... लेकिन मैं इसे एक अच्छे उत्तर के रूप में ले सकता हूं (अन्य भी "अच्छे" हैं! ty)
लांसबैन्स

4

के netstatसाथ प्रयोग करके देखें rmsock

port=$1
addr=`netstat -Aan | grep $port | awk '{print $1}`
pid=`rmsock $addr tcpcb | awk '{print $9}'`
ps -ef | grep $pid

के लिए netstat, -Aसॉकेट्स से जुड़े किसी भी प्रोटोकॉल नियंत्रण ब्लॉक का -aपता दिखाता है , विकल्प सर्वर प्रक्रियाओं सहित सभी सॉकेट्स की स्थिति दिखाता है, और -nविकल्प संख्यात्मक रूप में आउटपुट देता है, इसलिए आप पते को हल करने के लिए समय बर्बाद नहीं कर रहे हैं ।

rmsockका उपयोग करके netstat, और tcpcbडेटाबेस का उपयोग करते हुए कॉलम 1 में दिए गए पते पर , उस सॉकेट को पकड़े जाने की प्रक्रिया के बारे में जानकारी दी जाएगी, जिसमें पिड और नाम शामिल हैं।

फिर आप ps -ef | grep $pidप्रक्रिया की जानकारी प्राप्त करने के लिए उपयोग कर सकते हैं।

इस बारे में अधिक जानकारी के लिए आप आईबीएम सिस्टम्स पत्रिका के इस लेख को देख सकते हैं ।


यह मेरे AIX
Kiwy

1

आवेदन लॉकिंग पोर्ट को खोजने का सबसे तेज़ तरीका है lsof या lsof64 का उपयोग करना :

lsof64 -nP | grep $PortNumber

या

lsof -nP | grep $PortNumber

ऊपर दिए गए पोर्ट नंबर को प्रोसेस आईडी लॉकिंग / उपयोग करके वापस कर देंगे। एक बार जब आपके पास यह हो जाए तो नीचे चल रहे एप्लिकेशन / प्रक्रिया को खोजने के लिए दौड़ें

proctree $pid

0

मैं AIX से परिचित नहीं हूँ, लेकिन आप की कोशिश की है wया eस्वरूपण तर्क ps?

ps uwx | grep 1482
# or 
ps uex | grep 1482

आप ऑनलाइन मैनुअल देख सकते हैं। AIX psपारंपरिक BSD झंडे का समर्थन करता है, लेकिन आपने जिन झंडों को मदद का संकेत दिया है, वे कैसे करते हैं?
गिलेस एसओ- बुराई को रोकना '

हम्म, ऐसा लगता है कि वे AIX पर अलग-अलग चीजें करते हैं। हालाँकि आपके द्वारा संदर्भित दस्तावेज़ में एक एल विकल्प शामिल है जो "USER, PID,% CPU,% MEM, SZ, RSS, TTY, STAT, STIME, TIME, और COMMAND फ़ील्ड्स को
प्रिंट करता है

0
netstat -ape | grep $PortNumber

क्या आप बता सकते हैं कि कमांड क्या कर रहा है? बिना औचित्य के कोडन बहुत उपयोगी नहीं है।
n0pe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.