أمر Bash Wait في Linux

Bash Wait Command Linux



الانتظار هو أمر Linux يعيد حالة الخروج بعد انتظار عملية تشغيل كاملة. عندما يتم تشغيل عدة عمليات في وقت واحد ، يمكن لأمر الانتظار فقط تتبع العملية الأخيرة. إذا لم يكن أمر الانتظار مقترنًا بوظيفة أو معرّف العملية ، فسينتظر حتى تكتمل جميع العمليات الفرعية قبل إرجاع حالة الإنهاء. غالبًا ما يتم استخدام الأمر bash wait مع الأمر معرّفات العملية أو معرّفات المهام.

في هذا البرنامج التعليمي ، سوف نستكشف أمر Bash Wait Command في Linux.







بناء الجملة:

الصيغة العامة لأمر الانتظار في Linux هي:



انتظر [الخيار] معرف

سيكون المعرف هو معرف العملية أو معرّف الوظيفة.



شرح Bash Wait Command في Linux:

أولاً ، قم بإنشاء ملف باستخدام الأمر touch:





$لمس. اتصال. صلةBashWait.sh

اجعل هذا الملف قابلاً للتنفيذ باستخدام الأمر أدناه:



$chmod+ x اسم الملف

بمجرد منح الامتيازات القابلة للتنفيذ للملف ، افتح الملف واكتب نصًا في ملف bash:

#!/bin/bash

نايم 3 &

معرف العمليه=$!

رما - طرد - قذف PID:$ processID'

انتظر $ processID

رما - طرد - قذف 'حالة الخروج: $؟'

$! هو متغير في BASH يخزن PID للعملية الأحدث.

الآن ، قم بتشغيل البرنامج النصي على النحو التالي:

$./اسم الملف

$./BashWait.sh

سيظهر معرف العملية وحالة الوجود في الغلاف.

باستخدام الخيار –n:

باستخدام الخيار –n ، ينتظر الأمر wait فقط لمهمة واحدة من معرّف العملية أو مواصفات الوظيفة المتوفرة حتى تنتهي قبل إعادة حالة الإنهاء. انتظر -n ينتظر أي وظيفة في الخلفية حتى تنتهي وتعيد حالة إنهاء الوظيفة إذا لم يتم توفير أي وسيطات.

اكتب الأسطر الواردة أدناه في البرنامج النصي الخاص بك:

#!/bin/bash

نايم 30 &

نايم 8 &

نايم 7 &

انتظر

رما - طرد - قذف 'اكتملت المهمة الأولى'.

انتظر

رما - طرد - قذف 'تم الانتهاء من جميع الوظائف'.

بعد ذلك ، قم بتشغيل البرنامج النصي مرة أخرى وعندما تكتمل المهمة الأولى ، سيطبع الرسالة على الجهاز وينتظر حتى تكتمل جميع المهام الأخرى.

باستخدام الخيار –f:

ينتظر الخيار -f توقف كل معرّف عملية أو وظيفة قبل إعادة رمز الخروج. التحكم في الوظيفة متاح فقط للمطالبات سريعة الاستجابة بشكل افتراضي.

افتح Terminal وقم بتشغيل الأمر:

انتظر العملية 3944.

افتح نافذة طرفية مختلفة وقم بتنفيذ أمر kill لإنهاء العملية.

سيتم تغيير الوضع. سيكتمل الأمر Wait ويعيد رمز إنهاء العملية.

كرر الخطوات الموضحة أعلاه باستخدام الأمر –f.

البرنامج النصي بأمر الانتظار:

نحن نستخدم نصوص 'hello.sh' و 'bash.sh' للتوضيح. يقوم البرنامج النصي 'hello.sh' بطباعة الأرقام من 1 إلى 5 ، ويستدعي البرنامج النصي 'bash.sh' hello.sh ويقوم بتشغيله في الخلفية ، مع وجود PID الخاص بـ hello.sh وانتظار انتهاءه.

قم بإنشاء نصين باسم hello و bash:

أضف الأسطر الواردة أدناه في ملف hello.sh:

#!/bin/bash

لأنافي 1 2 3 4 5 6 7 8 9 10

فعل

رما - طرد - قذفhello.sh - رقم الحلقةأنا $.

انتهى

أضف الأسطر الواردة أدناه في البرنامج النصي bash:

#!/bin/bash

رما - طرد - قذفبدأ bash.sh

رما - طرد - قذفبدأت hello.sh

./مرحبا&

معرف العمليه=$!

انتظر $ process_id

رما - طرد - قذفاكتمل hello.sh

انتاج:

استنتاج:

عندما يريد المستخدم إيقاف عملية ما ، يقوم النظام بإصدار جميع الموارد التي تحتفظ بها العملية وينتظر بدء أخرى. سنحتاج إلى إخطار العملية بأنه يمكنها إعادة تشغيل التنفيذ بمجرد اكتمال العمليات الأخرى. ينتظر الأمر الانتظار في bash لإكمال التنفيذ ويعيد حالة الخروج عند اكتمال تنفيذ العملية. في هذا الدليل ، رأينا بعض الأمثلة على أمر Bash wait في Linux.