জটিল প্রক্রিয়া নামের জন্য pgrep / pidof ব্যবহার?


11

আমি আমার সিস্টেমে কোনও প্রক্রিয়াতে HUP প্রেরণ করতে সক্ষম হতে পিডোফ বা পিগ্রিপ ব্যবহার করার চেষ্টা করছি। সমস্যাটি হ'ল আমি কেবল একটি নির্দিষ্ট পরামিতি দিয়ে প্রক্রিয়াটি মারতে চাই।

এটি 'পিএস অ্যাভেক্স' এর আউটপুট

  657 ?        S      0:00 processname software
  658 ?        S      0:00 processname demo
  659 ?        S      0:00 processname test

এর মধ্যে একটি করে:

pidof processname 
pgrep processname

প্রসেসনাম দিয়ে শুরু হওয়া সমস্ত প্রক্রিয়াগুলির তালিকা আপনি পেয়েছেন তবে আমি এর মতো কিছু করতে চাই:

pidof processname test
pgrep processname test

আমার কেবলমাত্র পিআইডি পুনরুদ্ধার করতে (এই উদাহরণে 659 হবে)

হালনাগাদ

পিগ্রেপে -f পতাকা ব্যবহার করে আমি যা চেয়েছিলাম ঠিক তা করে, যা করে:

pgrep -f "processname test"

আপনি সঠিক উত্তর পাবেন।


ঠিক আছে, আপনার সাধারণত প্রয়োজন -fকারণ আপনি সম্পূর্ণ কমান্ড লাইনে মিল রাখতে চান। নোট করুন যে pgrep নিয়মিত প্রকাশের উপর কাজ করে, তাই আপনি তুলনামূলকভাবে জটিল মিলও করতে পারেন।
সিজেসি

উত্তর:


10
$ ps aux |grep [d]evio
user01   10220  0.0  0.1   5376  2424 pts/5    S+   11:41   0:00 ssh devio
$ pgrep -f "ssh devio"
10220
$ pkill -0 -f "ssh devio" ; echo $?
0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.