2013-05-13 2 views
0

Я использую gdb для отладки параллельного mpi-кода 'prog'. Для этого я использую небольшое число процессов, скажем, «М» и сделать что-то вродеЗапустите несколько процессов gdb в эмуляторе терминала в модуле разделенного экрана

mpiexec -n M xterm -e gdb ./prog 

Это выскакивает M xterms с каждым из них работает один процесс GdB на одной из прог файлов.
В результате загромождения экрана отдельными окнами может быть довольно громоздким.
Есть ли какой-либо способ, используя любой известный эмулятор терминалов с разделенным окном (скажем, терминатор), например, чтобы процессы M gdb запускались только в одном окне, однако он был разделен на M частей с самого начала?

ответ

0

То, что вы хотите, называется терминальным мультиплексором; Посмотрите на screen или tmux

EDIT: это, вероятно, то, что вы хотите; выполните следующие команды в своей оболочке

tmux new-session -d bash  # start a bash shell 
tmux split-window -v python # start a python shell below it 
tmux attach-session -d  # enter the tmux session 
+0

Так как бы использовать tmux/screen ответить на мой вопрос? Еще раз, и еще более упрощенно, начиная несколько параллельных заданий с помощью mpi, скажем, что это просто «верхний» процесс, например: «mpiexec -n 2 xterm -e top» появится 2 xterms с одним верхним процессом, запущенным в каждом. Что мне делать с tmux/screen, чтобы 2 процесса работали бок о бок в 2 панелях одного разделенного экрана? – Mark

+0

http://stackoverflow.com/questions/1236376/how-to-start-a-new-process-in-a-new-window-in-an-existing-gnu-screen-session-fr – JRG

+0

Я не знаю, я вижу связь между этой ссылкой и моим вопросом. Я не хочу запускать «новый» процесс в новом окне ... Я хочу запустить несколько новых процессов с одной командой mpi в окне * one *, разбитой на столько панелей, сколько началось процессов , – Mark