এই টিউটোরিয়ালে, আমরা লিনাক্সে বাশ ওয়েট কমান্ড অন্বেষণ করব।
বাক্য গঠন:
লিনাক্সে অপেক্ষা কমান্ডের সাধারণ সিনট্যাক্স হল:
অপেক্ষা করুন [বিকল্প] আইডি
আইডি একটি প্রসেস আইডি বা জব আইডি হবে।
লিনাক্সে ব্যাশ ওয়েট কমান্ড ব্যাখ্যা করা:
প্রথমে, স্পর্শ কমান্ড ব্যবহার করে একটি ফাইল তৈরি করুন:
$স্পর্শBashWait.sh
নিচের কমান্ডটি ব্যবহার করে এই ফাইলটি এক্সিকিউটেবল করুন:
$chmod+x ফাইলের নাম
একবার ফাইলটিতে এক্সিকিউটেবল সুবিধা দেওয়া হলে, ফাইলটি খুলুন এবং ব্যাশ ফাইলে একটি স্ক্রিপ্ট লিখুন:
#!/বিন/ব্যাশঘুম 3 &
প্রক্রিয়া আইডি=$!
বের করে দিল 'পিআইডি:$ processID'
অপেক্ষা করুন $ processID
বের করে দিল 'প্রস্থান অবস্থা: $?'
$! BASH- এর একটি পরিবর্তনশীল যা সাম্প্রতিক প্রক্রিয়ার PID সঞ্চয় করে।
এখন, স্ক্রিপ্টটি নিম্নরূপ চালান:
$/ফাইলের নাম$/BashWait.sh
প্রক্রিয়া আইডি এবং বিদ্যমান অবস্থা শেল প্রদর্শিত হবে।
Optionn বিকল্প ব্যবহার করে:
Optionn বিকল্পের সাথে, অপেক্ষা কমান্ডটি প্রদত্ত প্রক্রিয়া আইডি বা চাকরির চশমা থেকে শুধুমাত্র একটি কাজের জন্য অপেক্ষা করে তার প্রস্থান অবস্থা ফেরত দেওয়ার আগে। ওয়েট -এন কোন ব্যাকগ্রাউন্ড কাজ শেষ হওয়ার জন্য অপেক্ষা করে এবং কোন আর্গুমেন্ট প্রদান না করা হলে চাকরি থেকে বেরিয়ে আসার অবস্থা ফেরত দেয়।
আপনার স্ক্রিপ্টে নীচের দেওয়া লাইনগুলি লিখুন:
#!/বিন/ব্যাশঘুম 30 &
ঘুম 8 &
ঘুম 7 &
অপেক্ষা করুন -এন
বের করে দিল 'প্রথম কাজ সম্পন্ন হয়েছে।'
অপেক্ষা করুন
বের করে দিল 'সব কাজ সম্পন্ন হয়েছে।'
এরপরে, স্ক্রিপ্টটি আবার চালান এবং যখন প্রথম কাজ শেষ হবে, এটি বার্তাটি টার্মিনালে মুদ্রণ করবে এবং অন্যান্য সমস্ত কাজ শেষ হওয়ার জন্য অপেক্ষা করবে।
Optionf বিকল্প ব্যবহার করে:
প্রস্থান কোডটি ফেরত দেওয়ার আগে -f বিকল্পটি প্রতিটি প্রক্রিয়া আইডি বা কাজ বন্ধ হওয়ার জন্য অপেক্ষা করে। জব কন্ট্রোল শুধুমাত্র ডিফল্টরূপে প্রতিক্রিয়াশীল প্রম্পটের জন্য উপলব্ধ।
টার্মিনাল খুলুন এবং কমান্ড চালান:
প্রক্রিয়া 3944 এর জন্য অপেক্ষা করুন।
একটি ভিন্ন টার্মিনাল উইন্ডো খুলুন এবং প্রক্রিয়াটি বন্ধ করার জন্য কিল কমান্ডটি চালান।
অবস্থা পরিবর্তন করা হবে। অপেক্ষা কমান্ডটি সম্পূর্ণ হবে এবং প্রক্রিয়া থেকে প্রস্থান কোডটি ফেরত দেবে।
–F কমান্ড দিয়ে উপরের দেওয়া ধাপগুলো পুনরাবৃত্তি করুন।
অপেক্ষা কমান্ড সহ স্ক্রিপ্ট:
আমরা বিক্ষোভের জন্য 'hello.sh' এবং 'bash.sh' স্ক্রিপ্ট ব্যবহার করছি। 'Hello.sh' স্ক্রিপ্ট 1 থেকে 5 পর্যন্ত সংখ্যা প্রিন্ট করে, এবং 'bash.sh' স্ক্রিপ্ট hello.sh কে কল করে এবং ব্যাকগ্রাউন্ডে চালায়, hello.sh এর PID আছে এবং এটি শেষ হওয়ার জন্য অপেক্ষা করছে।
হ্যালো এবং ব্যাশ নামের দুটি স্ক্রিপ্ট তৈরি করুন:
Hello.sh ফাইলে নিচের দেওয়া লাইন যোগ করুন:
#!/বিন/ব্যাশজন্যআমিভিতরে ঘ 2 3 4 5 6 7 8 9 10
কর
বের করে দিলhello.sh - লুপ নম্বর$ i।
সম্পন্ন
ব্যাশ স্ক্রিপ্টে নীচের দেওয়া লাইন যোগ করুন:
#!/বিন/ব্যাশবের করে দিলBash.sh শুরু হয়েছে
বের করে দিলHello.sh শুরু করেছে
।/hello.sh&
প্রসেস_আইডি=$!
অপেক্ষা করুন $ process_id
বের করে দিলHello.sh সম্পন্ন হয়েছে
আউটপুট:
উপসংহার:
যখন একটি ব্যবহারকারী একটি প্রক্রিয়া বন্ধ করতে চায়, তখন সিস্টেমটি প্রক্রিয়া দ্বারা রাখা সমস্ত সম্পদ প্রকাশ করে এবং অন্যটি শুরু হওয়ার জন্য অপেক্ষা করে। আমাদের প্রক্রিয়াটি অবহিত করতে হবে যে অন্যান্য প্রক্রিয়া সম্পন্ন হওয়ার পরে এটি কার্যকর করা পুনরায় চালু করতে পারে। বাশ -এ অপেক্ষা কমান্ড এক্সিকিউশন সম্পন্ন করার জন্য অপেক্ষা করে এবং যখন এক্সিকিউশন সম্পন্ন হয় তখন প্রস্থান অবস্থা ফেরত দেয়। এই ম্যানুয়ালটিতে, আমরা লিনাক্সে বাশ ওয়েট কমান্ডের কিছু উদাহরণ দেখেছি।