LINUX.ORG.RU

Не перезапуская, а дав команду из другой консоли.

gkrellm
() автор топика
Ответ на: комментарий от gorilych

Ага, уж видел — правда там какое-то циркачество, я не рискнул.

Сделал через strace — не совсем то, но зато безопаснее.

gkrellm
() автор топика
Ответ на: комментарий от gkrellm

поделись рецептом. мне метод с gdb не нравится тем, что там переоткрытия не атомарная. в худшем случае программа может в сегфолт выпасть.

Можно ещё disown+retty попробовать

gorilych ★★
()
Ответ на: комментарий от gorilych

да я пока не спец… ткнул "strace -p PID" — он мне вывел помимо всякого мусора ошметки строк из stdout. Думаю что можно как-то иначе :|

gkrellm
() автор топика

А нельзя забить на первую консоль (не пользоваться ей больше) и в другой заставить читать всё из pty1 в нужный файл?

Irben ★★★
()
Ответ на: комментарий от Irben

Всё оказалось не так просто, как я думал, но всё же докапался до истины.

Итак, система - Fedora 11, там крутится Apache.

1.1. ssh user@mydomain.org

1.2. su -

1.3. tail -f /var/log/access_log

При обновлении страницы mydomain.org на pts1 выводится обновление.

2.1. ssh user@mydomain.org

2.2. su -

2.3. cat /dev/pts/1 -- хренушки

2.4. cat /dev/tty1 -- хренушки

2.5. ps -aux | grep tail -- process id 123

2.6. tail -f /proc/123/fd/3 -- SUCCESS!

Осталось только перенаправить вывод первого терминала в нужный файл.

Irben ★★★
()
Ответ на: комментарий от Irben

Ага то есть видимо если вывод "динамический" (хз есть ли такой термин), то напрямую на устройство терминала он не идет, а построчно сидит в /proc/<procID>/fd/3

Понемногу проясняется, спасибо.

gkrellm
() автор топика
Ответ на: комментарий от gkrellm

Как-раз за пару дней до Вашего поста начал читать вот эту статейку: http://xgu.ru/wiki/stdin

Как оказалось, пригодилась. Материал читается достаточно легко.

Irben ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.