এআইএক্সের অধীনে, আমি কীভাবে কোনও বন্দরের সাথে আবদ্ধ কোনও প্রোগ্রামের পুরো পথ পাব?


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
# 

kshএআইএক্স 6 এ ব্যবহার করার সময় আমি কোনও বন্দরের সাথে আবদ্ধ কোনও প্রোগ্রামের পুরো পথটি কীভাবে পেতে পারি ?

উত্তর:


10

আইবিএম দ্বারা প্রস্তাবিত হিসাবে : lsof -i -nএক্সওয়াই পোর্ট ব্যবহার করুন এবং সন্ধান করুন। আপনি যদি পার্সেবল আউটপুট চান lsofতবে -Fপতাকাটি ব্যবহার করুন এবং আউটপুটকে বিশ্রীকরণের সাথে পার্স করুন।

আপনি এআইএক্স ভি 5 এর জন্য প্রাক-সংকলিত বাইনারি পেতে পারেন । আমি জানি না ভি 6 এর জন্য প্রাক-সংকলিত বাইনারি রয়েছে কিনা; যদি সেখানে না থাকে তবে উত্সটি পান এবং এটি সংকলন করুন।



2
সুতরাং এটি ডাউনলোড করুন বা উত্স থেকে এটি সংকলন করুন , এটি আইবিএম দ্বারা প্রস্তাবিত
গিলস

মেশিনগুলিতে সর্বদা "lsof" থাকে না ... তবে আমি এটিকে একটি ভাল উত্তর হিসাবে নিতে পারি (অন্যান্যগুলিও "ভাল"!
টিআই

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এর কলাম 1 আউটপুটে প্রদত্ত ঠিকানাটি netstatব্যবহার করে এবং tcpcbডাটাবেস ব্যবহার করে পিড এবং নাম সহ সকেটের ধারণ প্রক্রিয়া সম্পর্কে তথ্য ফিরে আসবে।

তারপরে আপনি ps -ef | grep $pidপ্রক্রিয়াটির তথ্য পেতে ব্যবহার করতে পারেন।

আপনি এই নিবন্ধটি আরও তথ্যের জন্য আইবিএম সিস্টেম ম্যাগাজিনে দেখতে পারেন ।


এটি আমার
এআইএক্স-

1

অ্যাপ্লিকেশন লকিং বন্দরটি সন্ধান করার দ্রুততম উপায়গুলির মধ্যে একটি হল lsof বা lsof64 ব্যবহার করা :

lsof64 -nP | grep $PortNumber

অথবা

lsof -nP | grep $PortNumber

উপরে প্রদত্ত পোর্ট নম্বর ব্যবহার করে প্রক্রিয়া আইডি লকিং / ব্যবহার করবে। একবার এটি হয়ে গেলে চলমান অ্যাপ্লিকেশন / প্রক্রিয়াটি অনুসন্ধান করতে নীচে চলে যান

proctree $pid

0

আমি এআইএক্সের সাথে পরিচিত নই, তবে আপনি কি আর্গুমেন্টটি wবা eবিন্যাসের চেষ্টা করেছেন ps?

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

আপনি ম্যানুয়ালটি অনলাইনে পরীক্ষা করতে পারেন । এআইএক্স pstraditionalতিহ্যবাহী বিএসডি পতাকাগুলি সমর্থন করে, তবে আপনি যে পতাকাগুলি নির্দেশ করেছেন সেগুলি কীভাবে সহায়তা করবে?
গিলস

এইচএম, দেখে মনে হচ্ছে তারা এআইএক্সে বিভিন্ন জিনিস করে। যদিও আপনি যে ডকুমেন্টেশনটি উল্লেখ করেছেন তাতে একটি এল বিকল্প রয়েছে যা "ব্যবহারকারী, পিআইডি,% সিপিইউ,% এমইএম, এসজেড, আরএসএস, টিটিওয়াই, স্ট্যাট, স্টাইম, টাইম, এবং
কম্যান্ড

0
netstat -ape | grep $PortNumber

আদেশটি কী করছে তা আপনি ব্যাখ্যা করতে পারেন? ন্যায়সঙ্গততা ছাড়াই কোড পেস্ট করা খুব সহায়ক নয়।
n0pe
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.