cmdsubst>zshকমান্ড সাবস্টিটিউশন প্রবেশের শেষ হওয়ার অপেক্ষায় থাকা শেল দ্বারা মুদ্রিত দ্বিতীয়টি প্রম্পট ।
যদি আপনি কেবল প্রবেশের পরে প্রম্পটটি পান killl<Return>, তবে কেবলমাত্র যুক্তিসঙ্গত ব্যাখ্যাটি হ'ল আপনার একটি এলিফ রয়েছে (যা স্ট্রিং ম্যাক্রো এক্সপেনশনের কিছু রূপ) এর জন্য killlএমন কিছুতে প্রসারিত হয় যাতে একটি নির্বিঘ্নিত $(...)কমান্ড প্রতিস্থাপন থাকে, যেমন:
$ alias 'killl=echo $(lsof -ti'
$ killl :22
cmdsubst>
কোথায় zshযে বন্ধ করতে আপনি জিজ্ঞাসা করা হয় $(...)কমান্ড প্রতিকল্পন।
আরও কয়েকটি নোট:
- এর আউটপুট
lsofপিড অনুসারে বাছাই করা হয়। পিড নম্বর মোড়ানো হয়, বৃহত্তর পিডটি গ্যারান্টি নয় যে প্রক্রিয়াটি পরে শুরু হয়েছিল।
-i:8080 টিসিপি বা ইউডিপি সকেটগুলিকে উত্স বা গন্তব্য পোর্ট হিসাবে 8080 পোর্ট রয়েছে এমনটি শোনাবে, গ্রহণ করবে বা সকেট সংযোগ করবে কিনা তা রিপোর্ট করবে।
- আপনি যদি পিডটি পেতে চান তবে আপনি এই
-tবিকল্পটি ব্যবহার করতে পারেন lsof:lsof -ti:8080 | tail -n2
kill -9এটি হ'ল এটি kill -s KILLযা এমন সংকেত প্রেরণ করে যে অ্যাপ্লিকেশনটি নিখুঁতভাবে প্রস্থান করার জন্য কাজ করতে পারে না। এটি কেবল সর্বশেষ সমাধান হিসাবে ব্যবহার করা উচিত।
8080 বন্দরটিতে সকেট বাউন্ড (উভয় প্রান্তে) থাকা সর্বাধিক শুরু হওয়া প্রক্রিয়াটি হত্যার জন্য আপনি এটি করতে পারেন:
#! /bin/sh -
unset IFS
pids=$(lsof -ti:8080) &&
LC_ALL=C ps -o pid=,lstart= -p $pids |
LC_ALL=C sort -k6,6n -k4,4M -k3,3n -k5,5 -k1,1n |
awk 'END{system("kill " $1)}'
(ধরে নিলেন জিএনইউ sort(যেমন ম্যাকোএসে পাওয়া গেছে)) এবং এমন একটি psবাস্তবায়ন যা lstartকলামটি সমর্থন করে (যেমন ম্যাকোএস 'এবং প্রোপস-এনজি এর, যদিও কোডটি প্রোপস-এনজি আপডেট করতে হবে যেখানে মাস এবং দিনের ক্ষেত্রগুলি অদলবদল করা আছে)।
killl?