hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как запустить команду на сервере, чтобы она работала после отключения?

Есть VPS. Подключаюсь по ssh. Нужно на VPS запускать сборку программ из исходников. Но проблема в том, что если консоль закрыть, то и сборка не работает. Разумеется, гуглил данный вопрос. Находил всякие job'ы, отправку команд в фон. Они то работают, но если отключится от сервера - то прерываются. Думал написать Web-сервер, чтобы с браузера отправлять команды, но это геморно. А постоянно держать соединение с сервером - тогда пропадает весь смысл в VPS. Что можете посоветовать?
  • Вопрос задан
  • 633 просмотра
Решения вопроса 3
@Karpion
Когда юзер подключается к серверу удалённо или входит локально с консоли - в процессе входа запускается шелл, ассоциированный с терминалом /dev/tty* . Когда шелл по указаниям юзера запускает программы - эти программы тоже ассоциированы с этим же терминалом. Когда юзер завершает сессию - процессы, ассоциированные с соответствующим терминалом, получают сигнал GigHup. Процессы, которые не настроили обработку этого сигнала - умирают.

Чтобы процессы работали в фоновом режиме после завершения сессии - их можно запустить через программу nohup, которая отвязывает себя и своих потомков от терминала. Если надо запускать сложную последовательность команд - то лучше запихнут её в скрипт.

Ну и есть продвинутые решения - про них говорили выше.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Находил всякие job'ы, отправку команд в фон. Они то работают, но если отключится от сервера - то прерываются


nohup [command] &

отправка в фон это просто отправка в фон. Вам еще нужно отключить эту программу от текущей сессии, для чего можно использовать nohup.

Или как выше посоветовали, оконные менеджеры типа screen/tmux, но это уже артиллерия потяжелее. С другой стороны можно позже приаттачиться к запущенной программе
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы