Народ, напомните как: искал но не нашёл :((
Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал -- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то делал но не помню как -- штатными средствами, но не nohup и точно не screen. Может кто помнит? Инет облазил -- но что-то не нашёл :( фря 7
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7Ctrl + z ?
>Ctrl + z ?Может лучше проги деманизировать? )
./script &
>>Ctrl + z ?
>
>Может лучше проги деманизировать? )
>./script &Не срабатывает -- умирает сесия -- все проги даже те что в фоне умирают вместе с ней (или я не правильно понял)
это кажись тоже, что и
Ctrl+z
bg %1не работает :((
Но яточно делал -- как не помню, кажись сочитание клавишь, вызывающих фатальную ошибку клиента, но каким-то образом не рвущих при этом сессию
>[оверквотинг удален]
>фоне умирают вместе с ней (или я не правильно понял)
>
>это кажись тоже, что и
>Ctrl+z
>bg %1
>
>не работает :((
>
>Но яточно делал -- как не помню, кажись сочитание клавишь, вызывающих фатальную
>ошибку клиента, но каким-то образом не рвущих при этом сессиюЗабавно, что после ответа MAN SCREEN тема по прежнему развивается :) :) :)
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7man screen ?
>>Народ, напомните как: искал но не нашёл :((
>>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>>делал но не помню как -- штатными средствами, но не nohup
>>и точно не screen. Может кто помнит? Инет облазил -- но
>>что-то не нашёл :( фря 7
>
>man screen ?+1
зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
простейшее использование:$ screen - запуск сеанса
ctrl a, затем d - отсоединение
screen -r - подключение к существующему сеансу
>зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
>простейшее использование:
>
>$ screen - запуск сеанса
>ctrl a, затем d - отсоединение
>screen -r - подключение к существующему сеансуНе я точно делал без screen!!!!!!!!!! -- ничего не ставил!!!!
Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании всё умерает.
>>зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
>>простейшее использование:
>>
>>$ screen - запуск сеанса
>>ctrl a, затем d - отсоединение
>>screen -r - подключение к существующему сеансу
>
>Не я точно делал без screen!!!!!!!!!! -- ничего не ставил!!!!
>Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании
>всё умерает.может shell был другой ?
поставьте в trap на EXIT скрипт, который делает nohup для всех job
и выходите себе спокойно.
правда непонятно куда будет перенаправлен ввод/вывод...
>может shell был другой ?т.е.? Система таже, клиент тот-же, работаю под csh
>поставьте в trap на EXIT скрипт, который делает nohup для всех job
>
>и выходите себе спокойно.
>правда непонятно куда будет перенаправлен ввод/вывод...А по подробнее?? Я пока не до конца с никс освоился тем более с терменалогией где тот самый trap? nohup не всегда срабатывает :(
Вывод не важен -- основное скидывается в файл и лог а все предупреждения пусть идут себе в null.
не нужно изобретать лошадь
ставить screen под ним выполнять что угодно , и спокойно закрывать удалённый терминал.
для подключения к созданой screen сессии нужно запустить screen -r (если будет список открытых сессий) написать screen -r номер_сесии .
>Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании
>всё умерает."Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.
- Пускать "под" nohup...
- К c-Z добавить bg и man bash на предмет "hup"......
- В случае "не bash" -- продолжить осмотр экспозиции.........
>"Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.
>
>- Пускать "под" nohup...
>- К c-Z добавить bg и man bash на предмет "hup"......
>- В случае "не bash" -- продолжить осмотр экспозиции.........не bash: csh
а если прога уже бегает? и нохуп не всегда работает: с МС и top такое не катит, но это к примеру...
>>- К c-Z добавить bg и man bash на предмет "hup"......
>не bash: cshА в man csh про hup ничего нету?.. Засада!!
>а если прога уже бегает? и нохуп не всегда работает: с
>МС и top такое не катит, но это к примеру...Обязательно! Слышите - обязятельно поделитесь с нами, как это сделать без screen-а... Наша безграмотность и необразованность просто угнетает. Нас всех! Не дайте пропасть.... PLS!!
>А в man csh про hup ничего нету?.. Засада!!
>hup [command] (+)
With command, runs command such that it will exit on a hangup
signal and arranges for the shell to send it a hangup signal
when the shell exits. Note that commands may set their own
response to hangups, overriding hup. Without an argument
(allowed in only a shell script), causes the shell to exit on a
hangup for the remainder of the script. See also Signal han-
dling and the nohup builtin command.
>>а если прога уже бегает? и нохуп не всегда работает: с
>>МС и top такое не катит, но это к примеру...
>
>Обязательно! Слышите - обязятельно поделитесь с нами, как это сделать без screen-а...
>Наша безграмотность и необразованность просто угнетает. Нас всех! Не дайте пропасть....
>PLS!!говорю же делал!!! как -- не помню, случайно в каком-то форуме наткнулся, но было давно и забыл....
>
>>"Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.
>>
>>- Пускать "под" nohup...
>>- К c-Z добавить bg и man bash на предмет "hup"......
>>- В случае "не bash" -- продолжить осмотр экспозиции.........
>
>не bash: csh
>а если прога уже бегает? и нохуп не всегда работает: с
>МС и top такое не катит, но это к примеру...таки man csh
и посмотрите что у вас там .logout ...
>
>таки man csh
>и посмотрите что у вас там .logout ...logout Terminates a login shell. Especially useful if ignoreeof is
set.
>
>>
>>таки man csh
>>и посмотрите что у вас там .logout ...
>
> logout Terminates a login
>shell. Especially useful if ignoreeof is
>
> set.а точно csh?
у себя проверил, по умолчанию проги остаются
что set выдает?
>>
>а точно csh?по дефолту для рута кажисьона ставится, но на всякий -- как проверить?
>у себя проверил, по умолчанию проги остаются
>что set выдает?top тоже?
Если проге нужен stdout и stderr, то их надо перенаправить. Иначе после отлогина консоль исчезнет и проге придется умереть. С перенаправленными stdout и stderr она будет жить.Если заведомо известно, что прога ничего не будет выводить, то можно не перенаправлять. Пример - команда sleep. Проверял в bash на gentoo.
1. логин
2. sleep 120 &
3. отлогин
4. логин
5. ps ax|grep sleepРазумеется между 2 и 5 не должно пройти более 120 секунд.
Так чтаа
/usr/local/bin/myprog &> /dev/null &
и выходи смело
>Если проге нужен stdout и stderr, то их надо перенаправить. Иначе после
>отлогина консоль исчезнет и проге придется умереть. С перенаправленными stdout и
>stderr она будет жить.может вопрос лаймерский, но как перенаправить уже в работающей проге
>[оверквотинг удален]
>Если заведомо известно, что прога ничего не будет выводить, то можно не
>перенаправлять. Пример - команда sleep. Проверял в bash на gentoo.
>
>1. логин
>2. sleep 120 &
>3. отлогин
>4. логин
>5. ps ax|grep sleep
>
>Разумеется между 2 и 5 не должно пройти более 120 секунд.а если не известно сколько часов будет работать прога?
>Так чтаа
>/usr/local/bin/myprog &> /dev/null &
>и выходи смелоперенаправление в дев нулл не срабатало:
User# mc & > /dev null &
[1] 1022
[2] 1023
User# /dev: Is a directory.[2] Exit 1 null > /dev
[1] + Suspended (tty output) mc
User# exit
There are suspended jobs.
Не надо спешить. Внимательно прочитай ответ, а потом, обдумав, прочитай еще раз.А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот с ходу не знаю.
И, кстати, для mc перенаправления все равно было бы не достаточно, даже слиб ты его прально написал. Интерактивная прога может многого хотеть от пользовательского интерфейса. В screen пошла бы. А если проге просто сообщения выводить надо, то будет работать наверняка.
>Не надо спешить. Внимательно прочитай ответ, а потом, обдумав, прочитай еще раз.
>
>
>А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот
>с ходу не знаю.так ещё интереснее:
User# mc &> /dev/null &
Invalid null command.
User# mc & > /dev/null &
Invalid null command.
User# top &> /dev/null
Invalid null command.:((((
>так ещё интереснее:
>
>User# mc &> /dev/null &
>Invalid null command.
>User# mc & > /dev/null &
>Invalid null command.
>User# top &> /dev/null
>Invalid null command.
>
>:((((Нуу... у меня шелом bash работает, а у тебя видимо csh. У них синтаксис перенаправлений немного разный, потому на эту команду он у тебя и ругается.
Смени шел на время экспериментов. Когда принципиальный результат получишь, тогда сможешь его под свой шел адаптировать.А в остальном ты определись что конкретно ты хочешь запускать и что ты запускал раньше, когда все у тебя работало.
Если mc top или подобное, то тебе виртуальная консоль нужна, тоесть screen. Либо долго читать и пытаться реализовать screen кустарно. Во-первых это будет не одна строчка скрипта. А во-вторых имхо это нездоровый какой-то интерес к убийству времени с особой жестокостью в извращенной форме :)Если тебе иксовое приложение нужно гонять, то сам наверное догадываешься, что перенаправление потоков тебя не спасет ;) Мой вариант поможет если тебе демон какой надо запустить. Чтобы выводимые сообщения не сыпались в syslog и не убивали приложение за отсутствием консоли, можно их перенаправить в файл или /dev/null
>Если тебе иксовое приложение нужно гонять, то сам наверное догадываешься, что перенаправление
>потоков тебя не спасет ;) Мой вариант поможет если тебе демон
>какой надо запустить. Чтобы выводимые сообщения не сыпались в syslog и
>не убивали приложение за отсутствием консоли, можно их перенаправить в файл
>или /dev/nullДа не у меня иксы даже не пойдут -- в основном компиляция и ещё пару демонов, но чтоб не держать комп-клинт постоянно включённым.
>>Если тебе иксовое приложение нужно гонять, то сам наверное догадываешься, что перенаправление
>>потоков тебя не спасет ;) Мой вариант поможет если тебе демон
>>какой надо запустить. Чтобы выводимые сообщения не сыпались в syslog и
>>не убивали приложение за отсутствием консоли, можно их перенаправить в файл
>>или /dev/null
>
>Да не у меня иксы даже не пойдут -- в основном компиляция
>и ещё пару демонов, но чтоб не держать комп-клинт постоянно включённым.
>Для компиляции достаточно перенаправления. Будет работать
в bash
make &> /dev/null &
или
make > /dev/null 2> /dev/null &а в csh должно сработать
make > /dev/null 2> /dev/null &после запуска можно выходить из mc и отлогиниваться. То же с другими демонами.
>А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот
>с ходу не знаю.NAME
fd, stdin, stdout, stderr -- file descriptor filesDESCRIPTION
The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can
be accessed through the file system. If the file descriptor is open and
the mode the file is being opened with is a subset of the mode of the
existing descriptor, the call:fd = open("/dev/fd/0", mode);
and the call:
fd = fcntl(0, F_DUPFD, 0);
are equivalent.
Opening the files /dev/stdin, /dev/stdout and /dev/stderr is equivalent
to the following calls:fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are
ignored.IMPLEMENTATION NOTES
By default, /dev/fd is provided by devfs(5), which provides nodes for the
first three file descriptors. Some sites may require nodes for addi-
tional file descriptors; these can be made available by mounting
fdescfs(5) on /dev/fd.FILES
/dev/fd/#
/dev/stdin
/dev/stdout
/dev/stderrSEE ALSO
Если честно ничерта из этого не понял, при чём здесь флопик?
Про привязки к консоли ваще ни слова, если я ещё английский не забыл :(((((((((((
или ето файл-дискриптор -- если так то как он относится к консоли из мана не ясно, или я чего-то недогоняю?
очень не ясно почему человек откровенно игнорирует совет про программу screen</usr/ports/sysutils/screen
<make && make install clean
<screen
(тут всё что угодно душе запускаем и просто закрываем терминал или меняем окно)
для возврата screen -DR (можно указать id через пробел)
>очень не ясно почему человек откровенно игнорирует совет про программу screenПусть игнорирует. ) Посоветовали и ладно).
>очень не ясно почему человек откровенно игнорируетТо ли читать не умеет...
То ли мы тут все тупые собрались - объяснить не мОгем...
То ли у человека много времени -- он проводит его с пользой, форум амортизирует...
http:/openforum/vsluhforumID9/7762.html#8Мы никогда не узнаем.
>То ли читать не умеет...
>То ли мы тут все тупые собрались - объяснить не мОгем...
>То ли у человека много времени -- он проводит его с пользой,
>форум амортизирует...
>http:/openforum/vsluhforumID9/7762.html#8
>
>Мы никогда не узнаем.Да не -- всё кудыпроще:
просто хотелось найти(вспомнить) соитание клавиш -- позволяющее закрыть ссесию без ввода доп комманд, но дискуссия ушла несколько в другую сторону :) и захотелось по глубже разобраться в данной проблеме :), кстати -- про сочитание клавиш никто не ответил :(
>комманд, но дискуссия ушла несколько в другую сторону :) и захотелось
>по глубже разобраться в данной проблеме :), кстати -- про сочитание
>клавиш никто не ответил :(Потому что его не существует!
Существует комбинация клавиш screen, которую посоветовали во втором посте.
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7есть такой вариант если оборвать связь, выдернуть шнур отключить модем тоесть экстренно, путти напишет что всязь потеряна все на сервере будет продолжать крутиться какоето время. тоесть вариант есть , только как в ту сессию потом попасть тут тоже без вариантов ;) хотя процессы будут присутствовать.
Ух поржал !!!! мде ... я года 3-4 назад тагже мозГ форумчанам Е%:№л с установкой nvidia ...
1. Прописать screen
2. Выполнить команду
3. Нажмите ctrl a+d для выхода из putty
(bash commands.. &) и все..
> Народ, напомните как: искал но не нашёл :((
> Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
> терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
> -- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
> делал но не помню как -- штатными средствами, но не nohup
> и точно не screen. Может кто помнит? Инет облазил -- но
> что-то не нашёл :( фря 7./programma
ctrl + Z
bg
Когда нужно ее в foreground вернуть уже после нового входа на сервер по ssh :
fg
Список запущенных прог - команда jobsЕсли конечно я правильно вас понял