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

aliska12

субж? (unix)

oyuriyu

после выхода куда ? в windoze ?

VitMix

Проблема в том, что после выхода из системы у проги пропадут stdin и stdout. Не всякая прога может пережить такую потерю. Самый правильный способ оставить прогу работать после выхода такой:
1. Запустить screen (это нестандартная программа, но как правило она в системе есть)
2. Запустить прогу
3. Нажать Ctrl+"A" а потом "d". Прога останется в screen-овой сессии
4. Выйти из системы
после этого к проге всегда можно будет подключиться сказав "screen -r" или что-то в этом роде.

maxin1

Чувак, ты вроде дольше всех (по крайней мере у меня сложилось таоке впечатление) в этом форуме используешь FreeBSD. И каждый раз у тебя возникают какие-то наивные вопросы, которые могут задавать люди, увидившие *NIX первый раз в жизни. Как это объяснить ?

Filan

На stdin можно и забить, а вот всё остальное можно перенаправить:
$ proga > /dev/null 2> /dev/null &

aliska12

Чувак, ты вроде дольше всех (по крайней мере у меня сложилось таоке впечатление) в этом форуме используешь FreeBSD. И каждый раз у тебя возникают какие-то наивные вопросы, которые могут задавать люди, увидившие *NIX первый раз в жизни. Как это объяснить ?

У тебя сложилось не правильное впечатление (обрати внимание на подпись ).
ЗЫ: Я решаю задачи по мере их поступления.

aliska12

мне нужно оставить вот что:
cat mbox | formail -s procmail
разве в данном случае можно забить на stdin stdout?

VitMix

Да только непонятно как в этом случае с прогой работать. Из вопроса следует, что пользователь работал-работал с прогой, а потом решил оставить её дорабатывать, а сам хочет выйти из системы...

aliska12

точно
заново запускать не хочется

VitMix

На этот случай бывает полезно выработать привычку всегда работать в screenе (по крайней мере на удалённых системах). Это и от разрыва соединения спасает. Кроме того позволяет экономить траффик...

Solnce18

Вроде бы то, что тебе нужно - man screen.
Или http://www.opennet.ru/base/sys/screen2.txt.html

abrek

и что, добавление & после команды не спасает?
тогда наверное кто-то SIGHUP посылает при выходе
тут не совсем верное сказали, главное не в stdin и stdout, а в терминале
программу нужно диссоциировать от управляющего терминала, nohup так например делает
я точно не могу сказать, работу с терминалами представляю лишь весьма приблизительно
screen наоборот, даёт возможность сохранить управляющий терминал в течении всего времени работы программы

aliska12

>и что, добавление & после команды не спасает?
man tcsh
When you try to leave the shell while jobs are stopped,
you will be warned that `You have stopped jobs.' You may
use the jobs command to see what they are. If you do this
or immediately try to exit again, the shell will not warn
you a second time, and the suspended jobs will be termi-
nated.

Olga22

- Ламо со стажем!

aliska12

А вот это сработало (во всяком случае на команде без пайпов):
%nohup ping www.ya.ru
Оставить комментарий
Имя или ник:
Комментарий: