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


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.