The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как присоединится к другому терминалу? (linux)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Консоль / Linux)
Изначальное сообщение [ Отслеживать ]

"Как присоединится к другому терминалу? (linux)"  +/
Сообщение от rloger email(ok) on 15-Сен-12, 15:51 
Как в linux присоединится к терминалу? Нужно запустить perl отладчик с опцией TTY, что бы отладка происходила с другого терминала.

Пытался узнать терминал с помощью команды tty, и скормить его опции TTY, но в этом случае bash и отладчик работают с терминалом одновременно, по очереди читая команды.
Помогает сначала открыть новую вкладку в эмуляторе терминала, присоединить туда отладчик, а затем сделать kill -9 на процессе bash.
В этом случае во вкладку пишется предупреждение "Предупреждение: Сбой программы «/bin/bash»." а отладчик начинает нормально работать (проверено в konsole). Если через tmux, то окошко с терминалом закрывается.
Но что-то подсказывает, что это не самый верный путь:)

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


PERLDB_OPTS='TTY=/dev/pts/2' perl -de 'print "Hello, world!\n"'

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как присоединится к другому терминалу? (linux)"  +/
Сообщение от tux2002 email(ok) on 16-Сен-12, 13:15 
>[оверквотинг удален]
> Помогает сначала открыть новую вкладку в эмуляторе терминала, присоединить туда отладчик,
> а затем сделать kill -9 на процессе bash.
> В этом случае во вкладку пишется предупреждение "Предупреждение: Сбой программы «/bin/bash»."
> а отладчик начинает нормально работать (проверено в konsole). Если через tmux,
> то окошко с терминалом закрывается.
> Но что-то подсказывает, что это не самый верный путь:)
> запуск отладчика с другим терминалом
>
 
> PERLDB_OPTS='TTY=/dev/pts/2' perl -de 'print "Hello, world!\n"'
>

perl -de 'print "Hello, world!\n"' </dev/pts/2 >/dev/pts/2 2>&1

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как присоединится к другому терминалу? (linux)"  +/
Сообщение от rloger email(ok) on 16-Сен-12, 18:20 
>[оверквотинг удален]
>> а затем сделать kill -9 на процессе bash.
>> В этом случае во вкладку пишется предупреждение "Предупреждение: Сбой программы «/bin/bash»."
>> а отладчик начинает нормально работать (проверено в konsole). Если через tmux,
>> то окошко с терминалом закрывается.
>> Но что-то подсказывает, что это не самый верный путь:)
>> запуск отладчика с другим терминалом
>>
 
>> PERLDB_OPTS='TTY=/dev/pts/2' perl -de 'print "Hello, world!\n"'
>>

> perl -de 'print "Hello, world!\n"' </dev/pts/2 >/dev/pts/2 2>&1

В этом случае STDIN и STDOUT программы перенаправляется в /dev/pts/2, т.е. там напечатется "Hello, world!\n", а ввод и вывод команд отладки происходит с исходного терминала.
А мне нужно наоборот, вводить команды отладки с другого терминала. Что бы отлаживать CGI скрипты.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как присоединится к другому терминалу? (linux)"  +/
Сообщение от tux2002 email(ok) on 17-Сен-12, 12:40 
>[оверквотинг удален]
>>> запуск отладчика с другим терминалом
>>>
 
>>> PERLDB_OPTS='TTY=/dev/pts/2' perl -de 'print "Hello, world!\n"'
>>>

>> perl -de 'print "Hello, world!\n"' </dev/pts/2 >/dev/pts/2 2>&1
> В этом случае STDIN и STDOUT программы перенаправляется в /dev/pts/2, т.е. там
> напечатется "Hello, world!\n", а ввод и вывод команд отладки происходит с
> исходного терминала.
> А мне нужно наоборот, вводить команды отладки с другого терминала. Что бы
> отлаживать CGI скрипты.

Ну видимо perl открывает непосредственно /dev/tty или /dev/console чтобы читать и писать дебагер, но ведь можно запустить наоборот с debug console чтобы печатолось на другой?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как присоединится к другому терминалу? (linux)"  +/
Сообщение от rloger email(ok) on 18-Сен-12, 00:33 
> Ну видимо perl открывает непосредственно /dev/tty или /dev/console чтобы читать и писать
> дебагер,

Видимо по умолчанию да, но есть опция отладчика TTY=...

> но ведь можно запустить наоборот с debug console чтобы печатолось
> на другой?

Речь идет о отладке CGI скриптов. Perl запускается сервером (в данном случае apache), по обращению браузерy к URL, передавая скрипту URL, referer, cookie и прочие HTTP заголовки в переменных окружения, согласно CGI стандарту. Поэтому запустить непосредственно debug console не совсем то, что нужно, хотелось бы иметь возможность остановится при доступе к URL из браузера, сохраняя среду окружения.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру