Пожалуйста, посмотрите мой код - (сценарий 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