নির্দিষ্ট আর্গুমেন্টের সাহায্যে কোনও প্রক্রিয়া সন্ধান এবং হত্যা করার জন্য স্ক্রিপ্টের বাশ?


17

আমি এমন একটি স্ক্রিপ্ট চাই যা এর উদাহরণগুলিকে মেরে sshফেলবে যার মধ্যে -D আর্গুমেন্ট (একটি স্থানীয় প্রক্সি স্থাপন করা) দিয়ে চালানো হয়েছে।

ম্যানুয়ালি, আমি করি ps -A | grep -i ssh, -ডি সহ kill -9 {id}প্রতিটি উদাহরণ (গুলি) সন্ধান করুন ।

তবে বাশ স্ক্রিপ্ট আকারে এটি দেখতে কেমন?

(আমি ম্যাক ওএস এক্সে আছি তবে এর মাধ্যমে কোনও প্রয়োজনীয় কমান্ড ইনস্টল করব port)


ম্যাক ওএস এক্স-এ pgrep এবং pkill বিকল্পগুলি দেখুন ? pgrepএবং pkillসোলারিস এবং লিনাক্সের অধীনে নাম অনুসারে প্রক্রিয়াগুলি নির্ভরযোগ্যভাবে খুঁজে পেতে বা হত্যা করার কমান্ড।
গিলস 8'12

উত্তর:


26

রান করুন pgrep -f "ssh.*-D"এবং দেখুন যে এটি সঠিক প্রক্রিয়া আইডিটি দেয় কিনা returns যদি এমন হয়, কেবল পরিবর্তন pgrepকরতে pkillএবং একই অপশন এবং প্যাটার্ন রাখা

এছাড়াও, আপনার kill -9একেবারে প্রয়োজনীয় না হলে আপনি ওরফে সিগিল ব্যবহার করবেন না কারণ প্রোগ্রামগুলি প্রস্থান করার আগে সেগুলি পরিষ্কার করার জন্য সিগ্কিলকে আটকাতে পারে না। আমি কেবল kill -9প্রথম চেষ্টা করার পরে -1 -2এবং ব্যবহার করি -3


আপনার প্রত্যেকটির জন্য একটি forলুপ হিসাবে কিলকে পুনরায় সংজ্ঞায়িত করা উচিত ;)kill -ii
সিমাস

1
pgrepওএসএক্সে নেটিভ নয়, আপনাকে এটি তৃতীয় পক্ষের কাছ থেকে নেওয়া উচিত। বিষয়টির পূর্ববর্তী থ্রেডে প্রস্তাব এবং বিকল্প রয়েছে।
গিলস 21:521-

জীবিত মানুষ, আমি যত বেশি 'নিক্স ব্যবহার করি, তত বেশি ভালোবাসি :) এর জন্য ধন্যবাদ!
javamonkey79

pgrep এবং pkill ওএস এক্স 10.8 (পর্বত সিংহ) এবং তারপরে উপলব্ধ। আপেল.ব্লোগোভারফ্লো.কম
পিটার হ্যানলি

-aপতাকাটি যুক্ত করা কার্যকর হতে পারে pgrepযা এটি কেবল প্রক্রিয়া আইডিই নয় কমান্ডটি (যুক্তি সহ) মুদ্রণ করে। এইভাবে যাচাই করা খুব সহজ যে কেবল পছন্দসই প্রক্রিয়াগুলি মিলেছে।
লুয়েটর


0

তথ্য সংগ্রহের জন্য আপনি প্রোক ফাইল সিস্টেমটি ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:

for proc in $(grep -irl "ssh.*-D" /proc/*/cmdline | grep -v "self"); do if [ -f $proc ]; then cat $proc && echo ""; fi; done

এটি নিখুঁত নয়, আপনি আরও একচেটিয়া রেজেক্স চাইবেন (বিশেষত যদি আপনি প্রক্রিয়া নিধন করছেন) তবে echo $proc | awk -F'/' '{ print $3 }'আপনাকে প্রক্রিয়াটির পিআইডি প্রদর্শন করবে (এস)।


1
ওএসএক্সের নেই /proc। এটি করার জন্য ইতিমধ্যে এখানে একটি শক্ত সরঞ্জাম রয়েছে, যাকে বলা হয় pgrep(কমপক্ষে সোলারিস এবং লিনাক্সে স্থানীয়ভাবে উপলব্ধ) available
গিলস 21'20
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.