أمر wait
في Bash يُستخدم لانتظار انتهاء العمليات الفرعية (subprocesses) التي تم إنشاؤها في الجلسة الحالية. يُعتبر هذا الأمر مفيدًا في السيناريوهات التي تحتاج إلى التأكد من أن عملية معينة قد اكتملت قبل المتابعة إلى الخطوة التالية.
التركيب الأساسي لأمر wait
هو كما يلي:
wait [options] [arguments]
-n
: ينتظر انتهاء أول عملية فرعية تنتهي.PID
: يُستخدم لتحديد معرف العملية (Process ID) التي ترغب في الانتظار حتى تنتهي.sleep 5 &
wait $!
echo "العملية الفرعية انتهت."
في هذا المثال، يتم تشغيل أمر sleep
في الخلفية، ثم ينتظر الأمر wait
حتى تنتهي هذه العملية.
sleep 3 &
sleep 5 &
wait
echo "جميع العمليات الفرعية انتهت."
هنا، يتم تشغيل عمليتين فرعيتين، وينتظر الأمر wait
حتى تنتهي كلاهما.
sleep 10 &
PID=$!
wait $PID
echo "العملية مع PID $PID انتهت."
في هذا المثال، يتم تخزين معرف العملية في متغير، ثم يُستخدم wait
للانتظار حتى تنتهي هذه العملية المحددة.
wait
في السكربتات لضمان أن العمليات الفرعية قد اكتملت قبل المتابعة.&
لتشغيل العمليات في الخلفية إذا كنت ترغب في استخدام wait
.wait
مع trap
للتعامل مع الإشارات (signals) بشكل أفضل في السكربتات.