Как запустить команду диалога с процессом
Пожалуйста, посмотрите на мой код - (скрипт bash)
Я хочу, чтобы оба диалога отображались на экране одновременно,
один диалог отображает:
хвост –f из - /var/log/proccess1.log,
и второй диалог отображает:
хвост –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 ) &
4 ответа
Вы можете отобразить несколько диалогов с --and-widget
,
Попробуйте что-то вроде:
dialog --begin 1 1 --tailboxbg FILE1 10 100 --and-widget --begin 20 1 --tailbox FILE2 10 100
Вам нужны две задние коробки и статический компонент. 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
Среди его особенностей:
- фильтрация
- подсветка
- автоматическая и ручная маркировка линий
Последняя версия хвостовой команды Unix поддерживает несколько -f, как показано ниже.
tail -f /var/log/proccess1.log -f /var/log/proccess2.log