Запустите удаленно, в фоновом режиме, используя ssh, затем выйдите из системы, продолжайте процесс, как?

Следующий вопрос задавался миллионы раз (будьте терпеливы к нему, пожалуйста:-)).. Почему, почему - я не могу найти ОДИН ПРОСТОЙ, КОНКЛЮЧНЫЙ ответ? - Будет высоко ценится!

  • Достаточно ли запустить программу (файл What_ever_job.EXE) в ssh как: "./What_ever_job &", чтобы она продолжала работать, если мой компьютер выключен, а ssh закрыт? Если нет - какой ТОЧНЫЙ (Пожалуйста!...) способ запустить его?

Нет "Screen", пожалуйста, я видел что-то под названием "nohup" (?) - как мне написать рецензию?

1 ответ

Решение

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

  1. Войдите на удаленный компьютер, используя SSH
  2. Бежать screen (ваше командное окно будет выглядеть как очищенное)
  3. Запустите любую команду, какую захотите. Нет необходимости использовать &
  4. Нажмите Ctrl-A, затем клавишу D

Вы будете отключены от экрана, и ваше командное окно будет выглядеть так, как оно было при входе в систему, хотя процесс все еще будет выполняться. Использование экрана также дает вам возможность повторно подключиться к запущенному процессу после отключения удаленного компьютера, что nohup не позволит.

Что касается использования nohup, я фактически не использовал его, но синтаксис выглядит просто nohup yourcommand &, Стоит отметить, что статья в Википедии о nohup предлагает ряд других альтернатив, которые вы можете попробовать, такие как VNC если это доступно, или start-stop-daemon в системе на основе Debian.

РЕДАКТИРОВАТЬ: Если вы хотите начать процесс в одну строку, вы можете использовать screen -dmS name yourcommandгде "имя" может быть чем угодно, и это просто имя, которое экран использует для ссылки на фоновый сеанс, а "ваша команда" - это команда, которую вы хотите запустить в фоновом режиме.

Другие вопросы по тегам