Будет ли этот сценарий bash запускаться поверх l oop после того, как один сценарий умирает? - PullRequest
0 голосов
/ 06 мая 2020

Я работаю над групповым проектом с использованием Ubuntu, но моя Azure виртуальная машина сейчас не работает, и я жду, когда мой партнер перезагрузит ее позже.

Сейчас я пишу al oop, чтобы постоянно запускать эти Python скрипты. Один - это сценарий входа в систему, а другой - сценарий регистрации для аутентификации пользователя, входящего на наш веб-сайт. Каждый раз, когда пользователь входит в систему или регистрируется, сценарии останавливаются, и я вручную перезапускаю сценарий, чтобы он снова достиг go. И написание в этих сценариях времени true l oop вызовет только проблемы.

Я пишу сценарий bash для вызова всех двух из них. Так что амперсанд будет запускать их одновременно. Итак, мой вопрос: l oop. Когда один из сценариев d ie, запускает ли l oop себя заново и повторно запускает оба сценария?

while true
    do
        python3 testdb2.py &
        python3 testdb2_register.py
    done

1 Ответ

1 голос
/ 06 мая 2020

Сценарий оболочки заблокируется после запуска testdb2_register.py, так как он будет ждать завершения этого сценария, прежде чем продолжить следующую итерацию l oop. Неважно, что происходит с testdb2.py.

Далее, когда testdb2_register.py завершает работу , testdb2_register.py будет запущен во второй раз. Если первый все еще работает, у вас будет одновременно запущено два экземпляра скрипта. Если это нежелательно, вы должны убить его, прежде чем запускать l oop заново.

while true
do
   python3 testdb2.py &
   python3 testdb2_register.py
   kill $!  # kill the most recent background job, i.e., testdb2.py
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...