এই সমস্ত সমাধানগুলি উবুন্টু 14.04 এ পরীক্ষা করা হয়েছে:
সমাধান 1 (পিএস কমান্ড ব্যবহার করে):
কেবল পিয়ার্স উত্তর যুক্ত করতে, আমি পরামর্শ দেব:
while ps axg | grep -vw grep | grep -w process_name > /dev/null; do sleep 1; done
এই ক্ষেত্রে, grep -vw grep
নিশ্চিত করে যে গ্রেপ শুধুমাত্র প্রক্রিয়া_নামের সাথে মেলে এবং গ্রেপ নিজেই নয়। প্রক্রিয়া_নাম কোনও লাইনের শেষে নয় এমন ক্ষেত্রেগুলিকে সমর্থন করার সুবিধা রয়েছে ps axg
।
সমাধান 2 (শীর্ষ কমান্ড এবং প্রক্রিয়া নাম ব্যবহার করে):
while [[ $(awk '$12=="process_name" {print $0}' <(top -n 1 -b)) ]]; do sleep 1; done
process_name
উপস্থিত প্রক্রিয়া নামটি প্রতিস্থাপন করুন top -n 1 -b
। উদ্ধৃতি চিহ্ন রাখুন দয়া করে।
আপনি যে প্রক্রিয়াগুলির সমাপ্তির জন্য অপেক্ষা করছেন তার তালিকা দেখতে আপনি চালাতে পারেন:
while : ; do p=$(awk '$12=="process_name" {print $0}' <(top -n 1 -b)); [[ $b ]] || break; echo $p; sleep 1; done
সমাধান 3 (শীর্ষ কমান্ড এবং প্রক্রিয়া আইডি ব্যবহার করে):
while [[ $(awk '$1=="process_id" {print $0}' <(top -n 1 -b)) ]]; do sleep 1; done
process_id
আপনার প্রোগ্রামটির প্রসেস আইডি দিয়ে প্রতিস্থাপন করুন ।