У меня есть скрипт на Python, который нужно запускать на AWS 24/7. Как я могу это сделать? Должен ли я просто запустить его, как если бы я делал локально:
python3 main.py
Или я должен быть:
python3 main.py &
?
Есть ли разница, куда я положил: в домашнем каталоге? Или в подкаталоге? Это вообще имеет значение?
В какой операционной системе вы это используете? Вам следует серьезно подумать об использовании собственной системы инициализации. Если вам повезет, вы будете использовать что-то с systemd, и тогда служебный файл будет очень просто написать.
[Unit]
Description=My awesome program
[Service]
ExecStart=/usr/local/bin/awesome.py
[Install]
WantedBy=multi-user.target
Есть еще варианты:
вы можете сделать то, что предложили, используя python3 main.py &
а затем закрыть канал ssh (используя без &
выполнит выход из сценария при закрытии ssh-соединения)
вы можете установить задание cron для скрипта
однажды я сделал простой сценарий bash, который будет прослушивать новую информацию на удаленном сервере git и запускать обновленный сценарий каждый раз, когда было внесено новое изменение
rsync
;РЕДАКТИРОВАТЬ:
Мониторинг скрипта:
Ты можешь использовать screen
(человек)
Чтобы запустить вашу программу:
$ screen
$ python3 main.py
Чтобы еще раз проверить выполнение вашей программы:
$ screen -r