URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 83372
[ Назад ]

Исходное сообщение
"выход из SSH без закрытия прог на сервере"

Отправлено Alex123 , 16-Дек-08 03:06 
Народ, напомните как: искал но не нашёл :((
Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал -- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то делал но не помню как -- штатными средствами, но не nohup и точно не screen. Может кто помнит? Инет облазил -- но что-то не нашёл :( фря 7

Содержание

Сообщения в этом обсуждении
"выход из SSH без закрытия прог на сервере"
Отправлено PavelR , 16-Дек-08 07:30 
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7

Ctrl + z ?


"выход из SSH без закрытия прог на сервере"
Отправлено Pahanivo , 16-Дек-08 07:52 
>Ctrl + z ?

Может лучше проги деманизировать? )
./script &


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 16-Дек-08 16:26 
>>Ctrl + z ?
>
>Может лучше проги деманизировать? )
>./script &

Не срабатывает -- умирает сесия -- все проги даже те что в фоне умирают вместе с ней (или я не правильно понял)

это кажись тоже, что и
Ctrl+z
bg %1

не работает :((

Но яточно делал -- как не помню, кажись сочитание клавишь, вызывающих фатальную ошибку клиента, но каким-то образом не рвущих при этом сессию


"выход из SSH без закрытия прог на сервере"
Отправлено Щекн Итрч , 02-Янв-09 19:45 
>[оверквотинг удален]
>фоне умирают вместе с ней (или я не правильно понял)
>
>это кажись тоже, что и
>Ctrl+z
>bg %1
>
>не работает :((
>
>Но яточно делал -- как не помню, кажись сочитание клавишь, вызывающих фатальную
>ошибку клиента, но каким-то образом не рвущих при этом сессию

Забавно, что после ответа MAN SCREEN тема по прежнему развивается :) :) :)


"выход из SSH без закрытия прог на сервере"
Отправлено wertik , 16-Дек-08 08:12 
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7

man screen ?


"выход из SSH без закрытия прог на сервере"
Отправлено sda , 16-Дек-08 09:06 
>>Народ, напомните как: искал но не нашёл :((
>>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>>делал но не помню как -- штатными средствами, но не nohup
>>и точно не screen. Может кто помнит? Инет облазил -- но
>>что-то не нашёл :( фря 7
>
>man screen ?

+1


"выход из SSH без закрытия прог на сервере"
Отправлено rodriguez , 16-Дек-08 10:41 
зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
простейшее использование:

$ screen - запуск сеанса
ctrl a, затем d - отсоединение
screen -r - подключение к существующему сеансу


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 16-Дек-08 16:22 
>зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
>простейшее использование:
>
>$ screen - запуск сеанса
>ctrl a, затем d - отсоединение
>screen -r - подключение к существующему сеансу

Не я точно делал без screen!!!!!!!!!! -- ничего не ставил!!!!
Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании всё умерает.


"выход из SSH без закрытия прог на сервере"
Отправлено Doka , 16-Дек-08 17:22 
>>зачем велосипед изобретать...ставь screen из портов и юзай на здоровье
>>простейшее использование:
>>
>>$ screen - запуск сеанса
>>ctrl a, затем d - отсоединение
>>screen -r - подключение к существующему сеансу
>
>Не я точно делал без screen!!!!!!!!!! -- ничего не ставил!!!!
>Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании
>всё умерает.

может shell был другой ?
поставьте в trap на EXIT скрипт, который делает nohup для всех job
и выходите себе спокойно.
правда непонятно куда будет перенаправлен ввод/вывод...


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 16-Дек-08 17:42 
>может shell был другой ?

т.е.? Система таже, клиент тот-же, работаю под csh
>поставьте в trap на EXIT скрипт, который делает nohup для всех job
>
>и выходите себе спокойно.
>правда непонятно куда будет перенаправлен ввод/вывод...

А по подробнее?? Я пока не до конца с никс освоился тем более с терменалогией где тот самый trap? nohup не всегда срабатывает :(
Вывод не важен -- основное скидывается в файл и лог а все предупреждения пусть идут себе в null.


"выход из SSH без закрытия прог на сервере"
Отправлено Mr_Dee , 16-Дек-08 17:43 
не нужно изобретать лошадь
ставить screen под ним выполнять что угодно , и спокойно закрывать удалённый терминал.
для подключения к созданой screen сессии нужно запустить screen -r (если будет список открытых сессий) написать screen -r номер_сесии .

"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Andrey Mitrofanov , 16-Дек-08 17:45 
>Ctrl+Z переводит проги в Sospend mode -- кажись так -- при отлогинивании
>всё умерает.

"Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.

- Пускать "под" nohup...
- К c-Z добавить bg и man bash на предмет "hup"......
- В случае "не bash" -- продолжить осмотр экспозиции.........


"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Alex123 , 16-Дек-08 18:08 

>"Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.
>
>- Пускать "под" nohup...
>- К c-Z добавить bg и man bash на предмет "hup"......
>- В случае "не bash" -- продолжить осмотр экспозиции.........

не bash: csh
а если прога уже бегает? и нохуп  не всегда работает: с МС и top такое не катит, но это к примеру...


"выход из без нас. никак."
Отправлено Andrey Mitrofanov , 16-Дек-08 18:26 
>>- К c-Z добавить bg и man bash на предмет "hup"......
>не bash: csh

А в man csh про hup ничего нету?.. Засада!!

>а если прога уже бегает? и нохуп  не всегда работает: с
>МС и top такое не катит, но это к примеру...

Обязательно! Слышите - обязятельно поделитесь с нами, как это сделать без screen-а... Наша безграмотность и необразованность просто угнетает. Нас всех! Не дайте пропасть.... PLS!!


"выход из без нас. никак."
Отправлено Alex123 , 16-Дек-08 18:39 
>А в 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!!

говорю же делал!!! как -- не помню, случайно в каком-то форуме наткнулся, но было давно и забыл....


"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Doka , 16-Дек-08 18:39 
>
>>"Есьм-много способав сделать это..." - Народная юнихоидная мудрость. Почти. Типа.
>>
>>- Пускать "под" nohup...
>>- К c-Z добавить bg и man bash на предмет "hup"......
>>- В случае "не bash" -- продолжить осмотр экспозиции.........
>
>не bash: csh
>а если прога уже бегает? и нохуп  не всегда работает: с
>МС и top такое не катит, но это к примеру...

таки man csh
и посмотрите что у вас там .logout ...



"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Alex123 , 16-Дек-08 18:42 

>
>таки man csh
>и посмотрите что у вас там .logout ...

       logout  Terminates a login shell.  Especially useful  if  ignoreeof  is
               set.



"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Doka , 17-Дек-08 14:49 
>
>>
>>таки man csh
>>и посмотрите что у вас там .logout ...
>
>       logout  Terminates a login
>shell.  Especially useful  if  ignoreeof  is
>            
>   set.

а точно csh?
у себя проверил, по умолчанию проги остаются
что set выдает?


"выход из без закрытия на сервере ну может быть потом не сра>"
Отправлено Alex123 , 17-Дек-08 16:01 
>>
>а точно csh?

по дефолту для рута кажисьона ставится, но на всякий -- как проверить?

>у себя проверил, по умолчанию проги остаются
>что set выдает?

top тоже?



"выход из SSH без закрытия прог на сервере"
Отправлено mikra , 16-Дек-08 17:54 
Если проге нужен 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 &
и выходи смело


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 16-Дек-08 18:17 
>Если проге нужен 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.


"выход из SSH без закрытия прог на сервере"
Отправлено mikra , 16-Дек-08 18:53 
Не надо спешить. Внимательно прочитай ответ, а потом, обдумав, прочитай еще раз.

А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот с ходу не знаю.


"выход из SSH без закрытия прог на сервере"
Отправлено mikra , 16-Дек-08 19:07 
И, кстати, для mc перенаправления все равно было бы не достаточно, даже слиб ты его прально написал. Интерактивная прога может многого хотеть от пользовательского интерфейса. В screen пошла бы. А если проге просто сообщения выводить надо, то будет работать наверняка.

"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 17-Дек-08 00:29 
>Не надо спешить. Внимательно прочитай ответ, а потом, обдумав, прочитай еще раз.
>
>
>А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот
>с ходу не знаю.

так ещё интереснее:

User# mc &> /dev/null &
Invalid null command.
User# mc & > /dev/null &
Invalid null command.
User# top &> /dev/null
Invalid null command.

:((((



"выход из SSH без закрытия прог на сервере"
Отправлено mikra , 17-Дек-08 12:05 
>так ещё интереснее:
>
>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


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 17-Дек-08 15:57 
>Если тебе иксовое приложение нужно гонять, то сам наверное догадываешься, что перенаправление
>потоков тебя не спасет ;) Мой вариант поможет если тебе демон
>какой надо запустить. Чтобы выводимые сообщения не сыпались в syslog и
>не убивали приложение за отсутствием консоли, можно их перенаправить в файл
>или /dev/null

Да не у меня иксы даже не пойдут -- в основном компиляция и ещё пару демонов, но чтоб не держать комп-клинт постоянно включённым.



"выход из SSH без закрытия прог на сервере"
Отправлено mikra , 17-Дек-08 16:49 
>>Если тебе иксовое приложение нужно гонять, то сам наверное догадываешься, что перенаправление
>>потоков тебя не спасет ;) Мой вариант поможет если тебе демон
>>какой надо запустить. Чтобы выводимые сообщения не сыпались в syslog и
>>не убивали приложение за отсутствием консоли, можно их перенаправить в файл
>>или /dev/null
>
>Да не у меня иксы даже не пойдут -- в основном компиляция
>и ещё пару демонов, но чтоб не держать комп-клинт постоянно включённым.
>

Для компиляции достаточно перенаправления. Будет работать
в bash
make &> /dev/null &
или
make > /dev/null 2> /dev/null &

а в csh должно сработать
make > /dev/null 2> /dev/null &

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


"выход из SSH без закрытия прог на сервере"
Отправлено Alex123 , 17-Дек-08 00:39 
>А как перенаправить stdin/stderr на лету надо читать мануалы, я так вот
>с ходу не знаю.

NAME
     fd, stdin, stdout, stderr -- file descriptor files

DESCRIPTION
     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/stderr

SEE ALSO

Если честно ничерта из этого не понял, при чём здесь флопик?  

Про привязки к консоли ваще ни слова, если я ещё английский не забыл :(((((((((((


или ето файл-дискриптор -- если так то как он относится к консоли из мана не ясно, или я чего-то недогоняю?


"выход из SSH без закрытия прог на сервере"
Отправлено Mr_Dee , 17-Дек-08 16:31 
очень не ясно почему человек откровенно игнорирует совет про программу screen

</usr/ports/sysutils/screen
<make && make install clean
<screen
(тут всё что угодно душе запускаем и просто закрываем терминал или меняем окно)
для возврата screen -DR (можно указать id через пробел)


"выход из SSH без закрытия прог на сервере"
Отправлено wertik , 17-Дек-08 16:45 
>очень не ясно почему человек откровенно игнорирует совет про программу screen

Пусть игнорирует. ) Посоветовали и ладно).


"выход из без за про на сер"
Отправлено Andrey Mitrofanov , 17-Дек-08 17:14 
>очень не ясно почему человек откровенно игнорирует

То ли читать не умеет...
То ли мы тут все тупые собрались - объяснить не мОгем...
То ли у человека много времени -- он проводит его с пользой, форум амортизирует...
http:/openforum/vsluhforumID9/7762.html#8

Мы никогда не узнаем.


"выход из без за про на сер"
Отправлено Alex123 , 17-Дек-08 17:44 
>То ли читать не умеет...
>То ли мы тут все тупые собрались - объяснить не мОгем...
>То ли у человека много времени -- он проводит его с пользой,
>форум амортизирует...
>http:/openforum/vsluhforumID9/7762.html#8
>
>Мы никогда не узнаем.

Да не -- всё кудыпроще:
просто хотелось найти(вспомнить) соитание клавиш -- позволяющее закрыть ссесию без ввода доп комманд, но дискуссия ушла несколько в другую сторону :) и захотелось по глубже разобраться в данной проблеме :), кстати -- про сочитание клавиш никто не ответил :(



"выход из без за про на сер"
Отправлено anonymous , 03-Янв-09 03:29 
>комманд, но дискуссия ушла несколько в другую сторону :) и захотелось
>по глубже разобраться в данной проблеме :), кстати -- про сочитание
>клавиш никто не ответил :(

Потому что его не существует!

Существует комбинация клавиш screen, которую посоветовали во втором посте.


"выход из SSH без закрытия прог на сервере"
Отправлено Danial , 22-Май-09 05:40 
>Народ, напомните как: искал но не нашёл :((
>Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
>терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
>-- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
>делал но не помню как -- штатными средствами, но не nohup
>и точно не screen. Может кто помнит? Инет облазил -- но
>что-то не нашёл :( фря 7

есть такой вариант если оборвать связь, выдернуть шнур отключить модем тоесть экстренно, путти напишет что всязь потеряна все на сервере будет продолжать крутиться какоето время. тоесть вариант есть , только как в ту сессию потом попасть тут тоже без вариантов ;) хотя процессы будут присутствовать.


"выход из SSH без закрытия прог на сервере"
Отправлено sanjy , 15-Апр-11 06:04 
Ух поржал !!!! мде ... я года 3-4 назад тагже мозГ форумчанам Е%:№л с установкой nvidia ...

"выход из SSH без закрытия прог на сервере"
Отправлено alex1mdu , 30-Май-11 16:45 
1. Прописать screen
2. Выполнить команду
3. Нажмите ctrl a+d для выхода из putty



"выход из SSH без закрытия прог на сервере"
Отправлено екьтд , 19-Июн-14 17:31 
(bash commands..  &)  и все..



"выход из SSH без закрытия прог на сервере"
Отправлено Alex , 14-Июн-11 16:14 
> Народ, напомните как: искал но не нашёл :((
> Вообщем, есле на сервере запущенна из ssh сессии прога, как закрыть ssh
> терминал на клиенте (PuTTY) не завершая выполнение проги; я как-то делал
> -- кажится есть какое-то сочитание клавиш (но не Ctrl+D), как то
> делал но не помню как -- штатными средствами, но не nohup
> и точно не screen. Может кто помнит? Инет облазил -- но
> что-то не нашёл :( фря 7

./programma
ctrl + Z
bg
Когда нужно ее в foreground вернуть уже после нового входа на сервер по ssh :
fg
Список запущенных прог -  команда jobs

Если конечно я правильно вас понял