Назад | Перейти на главную страницу

как запустить диалоговую команду с процессом

Пожалуйста, посмотрите мой код - (сценарий bash)

Я хочу отображать оба диалога на экране одновременно,

в одном диалоговом окне отображаются:

tail –f из - /var/log/proccess1.log ,

и второй диалог отобразит:

tail –f из файла - /var/log/proccess2.log

но печальный факт заключается в том, что я могу отображать только один диалог, а не оба диалога (потому что, когда я запускаю первый диалог, второй диалог активируется только в том случае, если первый диалог будет убит)

Итак, я создаю процесс во втором диалоге (… ..) & , чтобы отобразить оба диалога

Но …. второй диалог создает номер процесса, но не создает второй графический интерфейс диалога (кажется, что когда мы создаем диалог с процессом, процесс не отправляет диалог на стандартный вывод)

Итак, как запустить второй диалог с процессом, но отправить графический интерфейс диалога на экран? , или другое решение для отображения обоих диалогов на экране

Мой код

     #!/bin/bash

     # this dialog will locate the tail box on the top of the screen
     dialog --begin 15 10  --tailbox   /var/log/proccess1.log  13 125 


     # this dialog will locate the tail box down in the screen
     ( dialog --begin 37 10  --tailbox   /var/log/proccess2.log    13 125 ) &

Вам понадобятся два хвостовых ящика с фоном и статический компонент. Msgbox подойдет.

dialog --begin 1 2 --tailboxbg a 10 70 --and-widget --begin 13 2 \
  --tailboxbg b 10 70 --and-widget --keep-window --msgbox "Exit" 5 10

Другой способ отслеживать несколько файлов - использовать многоцелевой.

multitail /var/log/proccess1.log /var/log/proccess2.log

Среди его особенностей:

  • фильтрация
  • выделение
  • автоматические и ручные линии разметки

Вы можете отображать несколько диалогов с --and-widget.

Попробуйте что-нибудь вроде:

dialog --begin 1 1 --tailboxbg FILE1 10 100 --and-widget --begin 20 1 --tailbox FILE2 10 100 

Последняя версия хвостовой команды Unix поддерживает несколько -f, как показано ниже.

tail -f /var/log/proccess1.log -f /var/log/proccess2.log