Как заставить программу продолжать работать после выхода из ssh? - программирование

Как заставить программу продолжать работать после выхода из ssh?

Возможный дубликат:
Предотвращение остановки фонового процесса после закрытия SSH-клиента

У меня есть программа, на которую уходит много времени. Он работает как root через ssh.
Я хочу, чтобы он продолжал работать после выхода из системы, это возможно и как я могу это достичь?

4b9b3361

Ответ 1

Предполагая, что у вас есть программа, работающая на переднем плане, нажмите ctrl-Z, затем:

[1]+  Stopped                 myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout

Если есть только одно задание, вам не нужно указывать номер задания. Просто используйте disown -h и bg.

Объяснение приведенных выше шагов:

Вы нажимаете ctrl-Z. Система приостанавливает запущенную программу, отображает номер задания и сообщение "Остановлено" и возвращает вам приглашение bash.

Вы вводите команду disown -h %1 (здесь я использовал 1, но вы бы использовали номер задания, который был отображен в сообщении Stopped), который отмечает задание, поэтому он игнорирует SIGHUP (он не будет остановлен путем выхода из системы).

Затем введите команду bg, используя тот же номер задания; это возобновляет работу программы в фоновом режиме, и отображается сообщение, подтверждающее это.

Теперь вы можете выйти из системы и продолжить работу.

Ответ 2

Вам следует попробовать nohup и запустить его в фоновом режиме:

nohup sleep 3600 &

Ответ 3

Я бы попробовал программу screen.

Ответ 4

Начало в фоновом режиме:

./long_running_process options &

И отмените задание до выхода из системы:

disown

Ответ 6

Вы можете использовать screen, отсоединить и снова подключить