Я запускаю сценарий Python в фоновом режиме на сервере Ubuntu SSH. nohup python x.py &
Через некоторое время, возможно, через полчаса скрипт python перестает работать, когда я возвращаюсь на сервер и набираю ps. Не уверен почему. Я не хочу, чтобы это когда-нибудь истекло.
1 ответ
Процессы в сеансе SSH принадлежат процессу вашей оболочки; обычно:
sshd [your-username] tty[your-tty]
.
Когда вы завершаете сеанс, все дочерние процессы также закрываются.
Чтобы обойти это, используйте терминальное мультиплексирование или демоны.
Наиболее распространенными мультиплексорами являются screen и tmux.
Затем вы можете запустить экран, используя screen -S my-session-name
, и запустить ваш процесс в обычном режиме.
Затем вы можете нажать ctrl+a, d, чтобы отсоединиться от экрана, и процесс все равно будет запущен, но как дочерний элемент экрана, а не сеанс ssh
Для повторного подключения введите screen -x my-session-name
(-r также работает)