Я знаю, что вы можете приостановить сеанс ssh с помощью ~ ^ z, но есть ли способ его фонового поиска, чтобы он продолжал работать, пока вы делаете что-то еще в локальной оболочке?
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)
Если вы пытаетесь запустить процесс удаленно, и вам не нужно открывать сеанс ssh, вам может понадобиться использовать screen
. Это позволит вам запустить ваш процесс в «фоновом режиме», и он будет продолжать работать после выхода из системы.
Сначала, ssh
в удаленный ящик, затем оттуда используйте screen
и запустите ваш процесс, и вы можете дать своему screen
имя сеанса, если хотите. Вы не заметите ничего другого, но начните свой процесс в этом сеансе. Вы можете выйти из сеанса screen
, используя команду Ctrl-a d
. Он будет выглядеть примерно так:
user@remotebox:~$ screen -S foobarsession
user@remotebox:~$ startmyprocess
[detached from 4865.foobarsession]
user@remotebox:~$
Затем вы можете выйти из сеанса ssh, и процесс будет продолжать работать. Чтобы снова подключиться к сеансу screen
, ssh вернитесь в удаленный ящик и используйте screen -r
для повторного подключения. Вы можете использовать screen -ls
для перечисления сеансов.
user@remotebox:~$ screen -ls
There is a screen on:
4865.foobarsession (10/05/2012 11:10:57 AM) (Detached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$ screen -r foobarsession
user@remotebox:~$ screen -ls
4865.foobarsession (10/05/2012 11:10:57 AM) (Attached)
1 Socket in /var/run/screen/S-user
user@remotebox:~$
Или, если screen
не установлен, вы можете использовать команду nohup
в удаленном окне. Википедия объясняет, что хорошо:
Nohupping backgrounded jobs is typically used to avoid terminating them when logging
off from a remote SSH session. A different issue that often arises in this situation
is that ssh is refusing to log off ("hangs"), since it refuses to lose any data
from/to the background job(s). This problem can also be overcome by redirecting all
three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
Итак, вы можете сделать что-то вроде:
ssh -n -f user@remotebox "sh -c 'cd /foo/bar; nohup ./myprogram > foo.out 2> foo.err < /dev/null &'"
После выполнения ~ ^ z выполнить bg
, и остановленный процесс продолжит выполнение в фоновом режиме. Работает со всеми процессами не только ssh.
P.S .: С fg
вы снова выполняете фоновый процесс. И только для записи: ~ необходимо только для того, чтобы отличить, должна ли подвеска находиться на локальной машине (с ~ -> клиентом ssh) или на сервере (без ~ -> любого процесса, выполняемого в настоящее время на переднем плане сервер)