Запуск задач на удаленном сервере через SSH - жизненный цикл?
Два связанных вопроса:
Если я ssh на удаленный сервер и запускаю долгосрочную задачу на переднем плане (
:~$ ./my-task > out.log), будет ли процесс продолжаться после завершения подключения к серверу?Выполнение той же длительной задачи из вопроса № 1 занимает около 5 минут. Если я открою другое окно терминала и поиграюсь с файлом, куда отправляется вывод (
tail -f out.log | grep 'Loop count') может ли это повлиять на количество времени, которое потребуетсяmy-taskзаканчивать?
1 ответ
Когда вы прервете соединение с вашим сервером, задача закончится. я использую Tmux для такого рода вещей.
Вы можете установить его обычным способом.
sudo apt-get install tmux
Идея это ты ssh на ваш сервер, затем с вашей оболочки запуска tmux и подключен к виртуальной консоли tmux. Начните свои вещи изнутри tmux виртуальную консоль, отсоединитесь от нее и затем прекратите соединение с сервером.
tmux виртуальная консоль будет работать, как и все ваши вещи в этой консоли. Вы можете подключиться к вашему серверу и присоединиться к / от tmux Консоли по желанию.
В Tmux есть приличная справочная страница, но вот несколько ключей, которые помогут вам в этом.
tmux ls список запущенных сеансов tmux.
tmux attach -t 0 прикрепить к 0.
ctrl-B c создать терминал.
crtl-B d отсоединить терминан.
ctrl-B " разделить терминал по вертикали.
ctrl-B % разделить терминал по горизонтали.
arrows перемещаться по панелям
0-9 выбирает окна.
s переключает сеансы.
Надеюсь, что это поможет в качестве стартера.