13

Возможные дубликаты:
Поддерживайте работу программы после закрытия консоли, после запуска программы
Как я могу использовать ssh для запуска команды на удаленной машине Unix и выхода до ее завершения?

Привет!

Я хочу запустить программу из моего ноутбука по SSH-соединению с удаленным сервером. Проблема в том, что я иду домой с ноутбуком :)

Как сохранить работоспособность программы?

2 ответа2

21

«Экран», скорее всего, то, что вы хотите. Это позволяет отключать и повторно подключаться по желанию. После того, как вы подключитесь к серверу по SSH, запустите screen перед запуском вашей программы. Ctrl-a, Ctrl-d отключит вас (программа продолжается независимо). По возвращении screen -r снова соединит вас, как будто вас никогда не было.

Думайте об этом как VNC или RDP для текстовых терминалов. Ищите «использование экрана» для многих учебных пособий.

Отредактировано, чтобы добавить: В эти дни я бы порекомендовал вместо этого tmux , особенно если он используется в сочетании со скриптом tmx. Возможность разбивать панели (по вертикали и по горизонтали) и изменять их размеры - огромное преимущество над экраном.

17

nohup - это команда, которая запускает другую команду и делает ее невосприимчивой к сигналу "зависания".

Вы запускаете это так же просто, как:

nohup command

но вам также нужно будет перенаправить stdin, stdout и stderr. Смотрите man-страницу для получения дополнительной информации.

Вы также, вероятно, захотите поместить его в фоновом режиме.

Вам также нужно знать команду kill чтобы в конечном итоге убить ее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .