У меня тот же вопрос, что и здесь, но даже за его пределами.
Если я выйду из системы или выйду из SSH-соединения, моя программа будет работать в фоновом режиме. Перед выходом я набираю bg
и jobs
проверяю фоновое выполнение задачи, но после выхода из SSH программа не запускается, она закрывается при закрытии окна SSH.
Что я могу сделать, если я хочу, чтобы моя программа все еще работала после закрытия окна SSH? Я использую, nohup
screen
но это также не работает, или я что-то упустил?
<br/>
s к вашему сообщению. Просто делайте абзацы по мере необходимости. И пока вы это делаете, пожалуйста, используйте правильнуюbg
илиnohup
при использованииscreen
. Также этот вопрос связан.Ответы:
Когда вы используете,
screen
вам нужно отсоединиться с CTRL+A+ Dдо выходаssh
.В качестве альтернативы, если вы хотите запустить процесс напрямую с экрана, вы можете использовать
-d
начинает сеанс экрана и немедленно отсоединяется от него-m
заставляет создавать новый сеанс экрана-S
позволяет дать сессии имя-L
включает запись в~/screenlog.0
пример:
Вы можете затем либо:
возобновить позже, используя
screen -x workstuff
или
проверьте файл журнала
less -r ~/screenlog.0
источник
Использование
tmux
. Я даже не уверен, чтоscreen
все еще находится в стадии активной разработки. Это что-то вроде предпочтения, но, как тот, кто используетtmux
, я могу засвидетельствовать, что он настроен примерно через 5 минут и работал отлично.В системе на основе Debian (на удаленной машине):
sudo apt-get install tmux
затем введите
tmux
для входа, запустите любой процесс, который вам нужен, и нажмите Ctrl+ Bзатем D(это оставляет сеанс tmux). Затем вы можете выйти из SSH.Когда вам нужно вернуться / проверить это снова, запустите SSH и войдите
tmux attach
. Это вернет вас к вашейtmux
сессии.tmux
имеет гораздо больше возможностей, как описано здесь. Но это должно решить вашу непосредственную проблему.Удачи!
источник
Наконец, я решил это с помощью
screen
:В режиме экрана отсоедините его с помощью CtrlAD. Затем вы можете закрыть окно SSH.
источник
использование nohup: первая из приведенных ниже команд запускает программу abcd в фоновом режиме таким образом, что последующий выход из системы не останавливает ее.
источник