פקודת Bash Wait בלינוקס

Bash Wait Command Linux



ההמתנה היא פקודת לינוקס המחזירה סטטוס יציאה לאחר המתנה לתהליך הפעלה מלא. כאשר מספר תהליכים פועלים בו זמנית, פקודת ההמתנה יכולה לעקוב רק אחר התהליך האחרון. אם פקודת ההמתנה אינה משויכת לעבודה או למזהה תהליך, היא תחכה להשלמת כל תהליכי הצאצא לפני החזרת סטטוס יציאה. פקודת ההמתנה bash משמשת לעתים קרובות עם הפקודה מזהי התהליך או הפקודה מזהי עבודה.

במדריך זה נחקור את פקודת Bash Wait ב- Linux.







תחביר:

התחביר הכללי של הפקודה Wait ב- Linux הוא:



המתן מזהה [אופציה]

מזהה יהיה מזהה תהליך או מזהה עבודה.



הסברת פקודת Bash Wait בלינוקס:

ראשית, צור קובץ באמצעות פקודת המגע:





$לגעתBashWait.sh

הפוך את קובץ זה להפעלה באמצעות הפקודה הבאה:



$chmod+x שם קובץ

לאחר קבלת הרשאות ההפעלה לקובץ, פתח את הקובץ וכתב סקריפט בקובץ bash:

#!/bin/bash

לִישׁוֹן 3 &

processID=$!

זרק 'PID:$ processID'

לַחֲכוֹת $ processID

זרק 'סטטוס יציאה: $?'

$! הוא משתנה ב- BASH המאחסן את ה- PID של התהליך האחרון.

כעת, הפעל את התסריט כדלקמן:

$./שם קובץ

$./BashWait.sh

מזהה תהליך ומצב קיים יופיעו במעטפת.

שימוש באפשרות –n:

עם האפשרות –n, פקודת ההמתנה ממתינה רק לעבודה אחת ממזהה התהליך שסופק או מפרטי התפקיד להסתיים לפני החזרת סטטוס היציאה שלה. המתן -n ממתין לסיום כל עבודת רקע ומחזיר את מצב יציאת המשרה אם לא ניתנים ארגומנטים.

כתוב את השורות המפורטות להלן בסקריפט שלך:

#!/bin/bash

לִישׁוֹן 30 &

לִישׁוֹן 8 &

לִישׁוֹן 7 &

לַחֲכוֹת -n

זרק 'העבודה הראשונה הושלמה'.

לַחֲכוֹת

זרק 'כל העבודות הושלמו'.

לאחר מכן, הפעל את הסקריפט שוב ​​וכשהעבודה הראשונה תושלם, היא תדפיס את ההודעה במסוף ותחכה עד שכל שאר העבודות יסתיימו.

שימוש באפשרות –f:

האפשרות -f ממתינה עד שכל מזהה תהליך או משימה תיפסק לפני החזרת קוד היציאה. שליטה במשרות זמינה רק להנחיות מגיבות כברירת מחדל.

פתח מסוף והפעל את הפקודה:

המתן לתהליך 3944.

פתח חלון מסוף אחר והפעל את הפקודה kill כדי לסיים את התהליך.

הסטטוס ישתנה. פקודת ההמתנה תשלים ותחזיר את קוד יציאת התהליך.

חזור על השלבים שצוינו למעלה באמצעות הפקודה –f.

סקריפט עם פקודת המתנה:

אנו משתמשים בסקריפטים 'hello.sh' ו- 'bash.sh' להפגנה. התסריט 'hello.sh' מדפיס מספרים מ -1 עד 5, והתסריט 'bash.sh' קורא hello.sh ומריץ אותו ברקע, עם ה- PID של hello.sh ומחכה לסיומו.

צור שני סקריפטים בשם hello and bash:

הוסף את השורות להלן בקובץ hello.sh:

#!/bin/bash

לאניב 1 2 3 4 5 6 7 8 9 10

לַעֲשׂוֹת

זרקhello.sh - מספר לולאה$ i.

בוצע

הוסף את השורות להלן בתסריט bash:

#!/bin/bash

זרקהתחיל bash.sh

זרקהתחיל hello.sh

./hello.sh&

process_id=$!

לַחֲכוֹת $ process_id

זרקהושלם hello.sh

תְפוּקָה:

סיכום:

כאשר משתמש רוצה לעצור תהליך, המערכת משחררת את כל המשאבים שנשמרים על ידי התהליך ומחכה שאחר יתחיל. נצטרך להודיע ​​לתהליך שהוא יכול להפעיל מחדש את הביצוע לאחר השלמת התהליכים האחרים. פקודת ההמתנה ב- bash ממתינה להשלמת הביצוע ומחזירה את מצב היציאה בסיום ביצוע התהליך. במדריך זה ראינו כמה דוגמאות לפקודת ההמתנה של Bash בלינוקס.