На этот вопрос уже есть ответ здесь:
У меня есть Intel NUC под управлением 3.13.11.6; и я написал приложение, которое запускает простой опрос данных (процессор, использование памяти, использование диска и т. д.). NUC безголовый, поэтому я подключаюсь через SSH (шпатлевка) и могу выполнять программу.
Моя проблема в том, что мне нужно, чтобы программа работала несколько дней; и если я закрою сеанс шпатлевки, процесс будет убит.
У меня нет cron в системе или какого-либо способа удаленного выполнения приложения (о котором я знаю).
*** edit - некоторые рекомендации по использованию screen и tmux были отличными, однако я узнал, что это настраиваемая реализация Ubuntu, и они недоступны.
Есть ли у кого-нибудь предложения, как лучше всего запустить приложение в автономной системе Ubuntu и не убивать процесс при отключении сеанса ssh?
Благодарю за любую помощь!
Спасибо,
Дан.
Попытайтесь использовать nohup:
$ nohup ./example.sh &
Это выполнит Ваш процесс в фоновом режиме и не будет завершено при выходе из оболочки (выход из системы). Это запишет вывод в файл, названный nohup.out.
screen ./example.sh
запустит Ваш процесс в собственной оболочке. Можно отсоединиться от этой оболочки путем содержания CTRL и нажатия + D .
Теперь можно закрыть соединение SSH, и процесс будет продолжать бежать. Можно также снова соединиться через SSH и работать
screen -r
для возвращения к процессу