Команди Linux

Команда Bash Wait в Linux

Команда Bash Wait в Linux
Очікування - це команда Linux, яка повертає статус виходу після очікування повного запущеного процесу. Коли одночасно запущено кілька процесів, команда wait може відстежувати лише останній. Якщо команда очікування не пов'язана з завданням або ідентифікатором процесу, вона буде чекати завершення всіх дочірніх процесів, перш ніж повертати статус виходу. Команда bash wait часто використовується з ідентифікаторами процесів або ідентифікаторами завдань.

У цьому підручнику ми розглянемо команду Bash Wait у Linux.

Синтаксис:

Загальний синтаксис команди Wait в Linux:

почекати [опція] ID

Ідентифікатор - це ідентифікатор процесу або ідентифікатор завдання.

Пояснення команди Bash Wait в Linux:

Спочатку створіть файл за допомогою сенсорної команди:

$ touch BashWait.ш

Зробіть цей файл виконуваним, використовуючи команду нижче:

$ chmod + x ім'я файлу

Після надання файлу привілеїв виконуваного файлу відкрийте файл і напишіть скрипт у файл bash:

#!/ bin / bash
спати 3 &
processID = $!
echo "PID: $ processID"
зачекайте $ processID
echo "Статус виходу: $?"

$! є змінною в BASH, яка зберігає PID останнього процесу.

Тепер запустіть сценарій наступним чином:

$ ./ ім'я файлу
$ ./ BashWait.ш

Ідентифікатор процесу та існуючий статус з’являться в оболонці.

Використання опції -n:

З опцією -n команда очікування очікує лише на одне завдання із наданого ідентифікатора процесу або специфікації завдання, щоб повернути його статус виходу. Wait -n чекає закінчення будь-якого фонового завдання і повертає статус виходу із завдання, якщо аргументи не вказані.

Напишіть у своєму сценарії наведені нижче рядки:

#!/ bin / bash
спати 30 &
спати 8 &
спати 7 &
почекати -н
echo "Перше завдання виконано."
почекай
echo "Усі завдання виконано."

Далі запустіть сценарій ще раз, і коли перше завдання буде завершено, він надрукує повідомлення на терміналі і дочекається завершення всіх інших завдань.

Використання опції -f:

Параметр -f чекає зупинки кожного ідентифікатора процесу або завдання перед поверненням коду виходу. Керування роботою доступне лише для адаптивних підказок за замовчуванням.

Відкрийте термінал і запустіть команду:

Зачекайте на процес 3944.

Відкрийте інше вікно терміналу та виконайте команду kill, щоб завершити процес.

Статус буде змінено. Команда Wait завершить і поверне код виходу з процесу.

Повторіть наведені вище кроки за допомогою команди -f.

Сценарій з командою Wait:

Ми використовуємо "привіт".sh 'і' bash.ш 'сценарії для демонстрації. Привіт.sh 'скрипт друкує числа від 1 до 5, а' bash.sh 'скрипт викликає привіт.sh і запускає його у фоновому режимі, маючи PID привіт.ш і чекаючи його закінчення.

Створіть два сценарії з іменами hello та bash:

Додайте подані нижче рядки у привіт.файл sh:

#!/ bin / bash
для i в 1 2 3 4 5 6 7 8 9 10
робити
ехо “привіт.sh - номер циклу $ i."
зроблено

Додайте наведені нижче рядки в скрипт bash:

#!/ bin / bash
ехо “Розпочався баш.ш ”
луна “Почав привіт.ш ”
./Здравствуйте.ш &
process_id = $!
зачекайте $ process_id
ехо “Завершено привіт.ш

Вихід:

Висновок:

Коли користувач хоче зупинити процес, система звільняє всі ресурси, що зберігаються процесом, і чекає запуску іншого. Нам потрібно буде повідомити процес про те, що він може перезапустити виконання після завершення інших процесів. Команда очікування в bash чекає завершення виконання і повертає статус виходу, коли виконання процесу завершено. У цьому посібнику ми побачили кілька прикладів команди Bash wait у Linux.

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Як зафіксувати та транслювати ігровий сеанс на Linux
Раніше грати в ігри вважалося лише хобі, але з часом ігрова індустрія спостерігала величезний ріст з точки зору технологій та кількості гравців. Аудит...
Найкращі ігри для гри з відстеженням рук
Нещодавно Oculus Quest представив чудову ідею відстеження рук без контролерів. Завдяки постійно зростаючій кількості ігор та заходів, які виконують пі...