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

Я хочу запустить несколько программ с помощью одного скрипта запуска и отслеживать их вывод на консоль.

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

Другая альтернатива, о которой я подумал, - перенаправить их выходные данные в лог-файлы, а затем использовать multitail чтобы посмотреть их результаты в одном терминале, но если я хочу убить их, мне нужно взглянуть на их PID, а затем выдать kill командовать, а не просто идти к своему терминалу и нажать Ctrl+C, Кроме того, это не будет работать хорошо, если некоторые программы используют проклятия или подобное.

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

Итак, какие-либо предложения о том, как добиться чего-то похожего на то, что я хочу?

2 ответа

Никаких предложений по вашей конкретной проблеме, но вы также рассматривали tmux, который, как говорят, проще в настройке. Взгляните на этот и этот пост в блоге для получения дополнительной информации и некоторых преимуществ по сравнению с экраном.

Это можно сделать с помощью экрана, загрузив пользовательский файл конфигурации экрана. Вот пример для запуска и мониторинга четырех программ в разделенном терминале. Создать файл launch_file где-то со следующим:

split
split
split
screen program1
focus down
screen program2
focus down
screen program3
focus down
screen program4

где program1, program2... четыре программы, которые вы хотите запустить. Теперь в (большой) Xterm или аналогичный введите screen -c launch_file, Вы должны увидеть четырехстороннее разделенное представление с одной из запущенных программ в каждой. Ты можешь использовать Ctrl+a tab циклически проходить через четыре окна и использовать Ctrl+c остановить одну из программ.

Другие вопросы по тегам