Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Ирина_М Гость
|
Добавлено: Ср Окт 20 2004 13:09 Заголовок сообщения: Еще нужен хелп!!))) |
|
|
Пишу опять же, что после скрипта мне надо всё вывести на монитор.. делаю так:
cat ... > &1
так этот урод создает мне файл с именем 1 и туда всё кидает((( |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Andy_user
Зарегистрирован: 03.12.2003 Сообщения: 382 Откуда: Санкт-Петербург
|
Добавлено: Ср Окт 20 2004 13:12 Заголовок сообщения: |
|
|
А если просто
cat ... _________________ Знание принципов компенсирует незнание фактов. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Ирина_М Гость
|
Добавлено: Ср Окт 20 2004 13:14 Заголовок сообщения: |
|
|
Тогда всё виснет... Эта тема - продолжение моей предыдущей... |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
ryabinkin
Зарегистрирован: 01.12.2003 Сообщения: 152 Откуда: Moscow
|
Добавлено: Ср Окт 20 2004 14:38 Заголовок сообщения: |
|
|
Попробуйте
cat имя_файла > /dev/stdout _________________ Из двух спорящих виноват тот, кто умнее. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Гость
|
Добавлено: Ср Окт 20 2004 17:50 Заголовок сообщения: |
|
|
Не помогло(( |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
ryabinkin
Зарегистрирован: 01.12.2003 Сообщения: 152 Откуда: Moscow
|
Добавлено: Чт Окт 21 2004 09:14 Заголовок сообщения: |
|
|
Тогда все же поинтересуюсь. А ЗАЧЕМ ставить задачу вывода чего-то на консоль, если скрипт запускается в фоновом режиме?
Ведь работа в нём и подразумевает отсутствие взаимодействия с человеком. _________________ Из двух спорящих виноват тот, кто умнее. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Окт 21 2004 10:31 Заголовок сообщения: |
|
|
Поддерживаю и развиваю мысль.
UNIX - многопользовательская система с детства. На какой экран выводить данные? На какое tty?
Может проще результат в файл писать, а потом его cat-ом выкидывать в нужное место? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Ирина_М Гость
|
Добавлено: Чт Окт 21 2004 14:49 Заголовок сообщения: |
|
|
Отвечаю)) Есть такая прога, mrtg называется... Не знаю, как она там точно работает но смысл такой. Она с удаленного сервака запускает скрипт, который должен выдать на экран 4 цифры. Далее, сия прога берет эти цифры и по ним строит график.
Фоновый режим был испытанием, т.к. когда запускали прогу по телнету, этот скрипт висел... Умный наш один админ сказал, что если оно висит в бэкграунде, то и по телнету будет висеть.
В общем, в итоге я вычитала, что фоновый процесс ваще не могёт выводить что-то на монитор и повозмущалась. Оказалось, что другие скрипты, которые уже давно работают с этой прогой, тоже в фоновом не работают, однако же по телнету завершаются...
Так и не поняли мы, почему мой прекрасный скрипт висит, в итоге я переписала на перле, используя другую идею... Вот жду сейчас файлик один для тестирования.. А мне никак не принесут((( |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Окт 21 2004 15:07 Заголовок сообщения: |
|
|
Ну раз пошла такая пьянка, сообщаю, что прога ваша должна выкидывать данные не на экран, а на стандартный вывод. Это две большае разницы, т.к. в разных ситуация стандартным выводом может быть к примеру принтер, а не экран.
(в Сях это функция stdout). В этом-то и косяк ваш.
Ну с перлом делой пойдет лучше, наверное. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Mr.Nobody
Зарегистрирован: 12.07.2004 Сообщения: 33 Откуда: Москва
|
Добавлено: Пт Окт 22 2004 09:23 Заголовок сообщения: |
|
|
Хм.
Обычно в Unix-системах (в Linux в частности) у управляющего терминала есть связанный с ним сеанс в который могут входить группы процессов - одна группа переднего плана (foreground) а остальные - фоновые (background). В случае если процессы входящие в группу переднего плана посылают или осуществляют ввод с терминала - всё ОК, в случае вывода фонового процесса он получает сигнал SIGTTOU (в случае ввода SIGTTIN) - действие по умолчанию - остановка процесса.
Можно написать прогу на С, в которой эти сигналы будут игнорироваться или блокироваться - тогда я думаю процесс не будет останавливаться.
Поправьте если я в чём-то ошибся или допустил неточность. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
ryabinkin
Зарегистрирован: 01.12.2003 Сообщения: 152 Откуда: Moscow
|
Добавлено: Пт Окт 22 2004 10:38 Заголовок сообщения: |
|
|
О, предыдущий оратор напомнил, спасибо.
В принципе, то же можно сделеть на шелле (как на bash - знаю, но подозреваю, что подобная функциональность есть и в csh). Можно назначить действие скрипту при получении определенного сигнала командой trap
синтаксис такой:
trap _номер_сигнала(соответствие номеров и символьных обозначений можно посмотреть в signal.h) функция-обработчик() _________________ Из двух спорящих виноват тот, кто умнее. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Cmp Гость
|
Добавлено: Вс Окт 24 2004 15:23 Заголовок сообщения: |
|
|
Я так понимаю речь идет о bash ... тогда между > и &1 не должно быть пробеллов.. и это к сожаленю существенно к стати и порядок перенаправления потоков 1 и 2 имеет значение (( может в этом дело впрочем |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|