2

У меня есть скрипт bash, который запускает три таких процесса:

CD FOO_DIR && ./run-foo
CD BAR_DIR && ./run-bar
CD BAZ_DIR && ./run-baz

Мне нужен инструмент, который разбивает родительскую оболочку на три секции (по горизонтали или вертикали - разницы нет) и показывает выходные данные каждого дочернего процесса в каждой секции соответственно.

Существует ли такой инструмент?

2 ответа2

3

Как уже было сказано, экран должен соответствовать вашим потребностям.

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

startupmessage off
split
split

screen -t top top                       # -t <title> <command>
screen -t netstat watch netstat -tanp 
screen -t date watch date 

select top # In the first screen show the screen titled 'top'

focus down # Focus down to next screen
select netstat # Show screen titled 'netstat'

focus down # Focus down to the next screen
select date # Show the screen titled date

Давайте назовем этот файл screen_run . Тогда просто запустите экран. Опция -c указывает файл конфигурации для использования:

screen -c screen_run

Если вы хотите вертикальное разделение, вы можете использовать split -v вместо split .

См. Https://www.gnu.org/software/screen/ для получения дополнительной информации.

1

В дополнение к screen , вы можете также tmux . У каждого есть свои сильные и слабые стороны, и вы можете предпочесть, чтобы один из них разбирался с другим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .