في هذا البرنامج التعليمي ، سوف نستكشف أمر 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.