strace -p $(netstat -tnp|awk -F'[ /]+' "/:$(netstat -tnp|awk -F'[ :]+'
"/\/telnet/{print \$5}") /&&/apache2/{print \$7}")
বা, সহজ পাঠের জন্য ফর্ম্যাট করা হয়েছে এবং ওপি'র স্ট্রেস পতাকাগুলি অক্ষত রয়েছে:
sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -tnp | \
awk -F'[ /]+' "/:$(netstat -tnp | awk -F'[ :]+' "/\/telnet/ \
{print \$5}") / && /apache2/ {print \$7}")
ভাঙ্গন, প্রথমতম:
netstat -tnp | awk -F'[ :]+' "/\/telnet/ {print \$5}"
সমস্ত সক্রিয় টিসিপি সংযোগগুলি ডিএনএস নামগুলিতে আইপি ঠিকানাগুলি সমাধান না করে আমাকে দেখান। পাইপটি আঁকড়ে ধরুন, যা শেষ হওয়া কোনও লাইনের পঞ্চম ক্ষেত্রটি মুদ্রণ করে /telnet
, যেখানে ক্ষেত্রগুলি এক বা একাধিক স্পেস এবং কোলন দ্বারা পৃথক করা হয়েছে। এই ক্ষেত্রটি উত্স বন্দর হবে।
উন্নতি করার জন্য : বাজকের ক্রিয়াকলাপের ভিতরে | head -n 1
একটি শেষ বা একটি ;exit
অভ্যন্তর যুক্ত করে আরও শক্তিশালী করা যেতে পারে , তবে আপনার মূল সংস্করণটির সমতুল্যের অভাব ছিল, তাই আমি এটিকে আর দীর্ঘ করতে চাই না।
netstat -tnp | awk -F'[ /]+' "/:**** / && /apache2/ {print \$7}")
****
এখানে অংশ আমি ইতিমধ্যে উপরে বর্ণিত করেছি, হয়। এখানে, আমি netstat -tnp
যে কোনও লাইনের সন্ধান করছি যা উপরের উত্স বন্দর হিসাবে একই পোর্ট রয়েছে এবং এটি অ্যাপাচে মালিকানাধীন; যখন আমি এটি পাই, আমি সপ্তম ক্ষেত্রটি (এক বা একাধিক স্পেস বা স্ল্যাশ দ্বারা সীমাবদ্ধ) মুদ্রণ করি। এটি অ্যাপাচি সন্তানের পিআইডি।
উন্নত করার জন্য : কেবলমাত্র একটি পিআইডি ফিরিয়ে দেওয়া (উপরের মতো একই পদ্ধতিগুলির মাধ্যমে) ফিরে আসার পাশাপাশি, ডিপোর্টের সাথে অন্য কোনও জিনিসটির বিপরীতে মিলানোর বিষয়টি যখন আসে ঠিক তেমনই ঘটে তবে প্যাটার্নটি ফিট করার ক্ষেত্রে আমি সবচেয়ে বেশি বৈষম্যমূলক হয়ে উঠতে পারি imagine এফএস ( -F
) -তে কলোন যুক্ত করে এটি করা সহজ হত , তবে সমস্যাটি মিশ্র আইপিভি 4 বনাম আইপিভি 6 পরিস্থিতিতে ঘটে, যেখানে ঠিকানায় নিজেই কলোন থাকতে পারে এবং এগুলি দ্রুত গন্ধ পেতে পারে। এটিকে বেশ জোরালো মনে হয়েছিল, বিশেষত পিছনের জায়গার সাথে।
sudo strace -o /tmp/strace -f -s4096 -r -p
এটি আপনার মূল প্রশ্ন থেকে সরাসরি অনুলিপি; আমি এটিকে কমপক্ষে পরিবর্তন করিনি।
আপনি যদি আমাকে কয়েকটি অতিরিক্ত চরিত্রের অনুমতি দেন তবে আমি যে সংস্করণটি চালিয়েছি তা হ'ল:
sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -tnp | \
awk -F'[ /]+' "/:$(netstat -tnp | awk -F'[ :]+' "/\/telnet/ \
{print \$5;exit}") / && /apache2/ {print \$7;exit}")