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.