Запуск gnome-терминала в цикле не блокирует ожидание завершения программ - PullRequest
0 голосов
/ 13 апреля 2019

Мне в основном нужно автоматизировать запуск 2 команд в отдельных терминалах.

while :
do
    timeout 10 gnome-terminal --geometry=95x56 -e "COMMAND1" &&
    timeout 7 gnome-terminal -e "COMMAND2" &&
    sleep 30
done

Ожидаемое поведение:

  • Терминал открывается, работаетCOMMAND1 в течение 10 секунд, затем закрывается
  • Второй терминал открывается, запускает COMMAND2 в течение 7 секунд, затем закрывается
  • 30 секунд проходит
  • Цикл повторяется

Фактическое поведение:

  • И COMMAND1, и COMMAND2 запускаются одновременно
  • COMMAND1 отображается в терминале, но фактически не запускается.

Что здесь происходит?

1 Ответ

0 голосов
/ 14 апреля 2019

Самостоятельный ответ перенесен из вопроса в ответ Wiki сообщества, за Каково соответствующее действие, когда ответ на вопрос добавляется к самому вопросу? :

Следующее, как и предполагалось, позволяет открывать только первую команду при запуске второй в цикле:

COMMAND1 &
while :
do
    sleep 15
    gnome-terminal -- timeout 7 COMMAND2 &&
    sleep 30
done
...