Как запустить скрипт python в фоне на Linux 🚀
Чтобы запустить скрипт Python в фоновом режиме в Linux, вы можете использовать команду nohup
и символ амперсанда (&
) в конце команды. Вот пример:
nohup python script.py &
Детальный ответ
Как запустить скрипт Python в фоне в Linux
Запуск скриптов Python в фоновом режиме в операционной системе Linux может быть полезным, когда вы хотите, чтобы скрипт продолжал работать даже после вашего выхода из системы или закрытия терминалов. В Linux есть несколько способов запустить скрипт в фоновом режиме. В этой статье мы рассмотрим несколько из них.
1. Использование символа амперсанда (&)
Самый простой способ запустить скрипт Python в фоновом режиме - добавить символ амперсанда (&) в конце команды запуска скрипта. Например:
python script.py &
Это позволит скрипту выполняться в фоновом режиме, а вы можете продолжать использовать терминал для других задач.
2. Использование команды nohup
Команда nohup
используется для запуска команд или скриптов в фоновом режиме и игнорирования сигналов завершения. Вы можете использовать nohup
для запуска скрипта Python следующим образом:
nohup python script.py &
Это позволит скрипту продолжить работу, даже когда вы выйдете из системы или закроете терминал.
3. Использование команды screen
Команда screen
позволяет создавать виртуальные терминалы в Linux. Вы можете использовать screen
для запуска скрипта Python в отдельном виртуальном терминале, который будет продолжать его выполнение независимо от вашего текущего терминала.
Чтобы начать новый сеанс screen
, выполните команду:
screen
После этого вы будете перемещены в новый виртуальный терминал. Запустите свой скрипт Python, как обычно:
python script.py
Когда вы закончите, вы можете отключиться от виртуального терминала, нажав сочетание клавиш Ctrl + A
, а затем Ctrl + D
. Ваш скрипт продолжит работу в фоновом режиме.
4. Использование команды disown
Команда disown
позволяет предоставить процессу независимость от текущего терминала. Вы можете использовать disown
после запуска скрипта Python для его отделения от терминала. Пример использования:
python script.py & disown
5. Использование системного демона (systemd)
Если вы хотите, чтобы ваш скрипт Python работал как служба в фоновом режиме при каждом запуске системы, вы можете создать systemd-службу. Создайте новый файл с расширением .service
в директории /etc/systemd/system/
и добавьте следующее содержимое:
[Unit]
Description=My Python Script
After=network.target
[Service]
ExecStart=/usr/bin/python /path/to/script.py
[Install]
WantedBy=default.target
Замените /path/to/script.py
на путь к вашему скрипту Python. Затем запустите следующие команды, чтобы разрешить systemd загрузить и запустить вашу службу:
sudo systemctl daemon-reload
sudo systemctl enable myscript.service
sudo systemctl start myscript.service
Это установит вашу службу, чтобы она запускалась автоматически при загрузке системы, и запустит ее в фоновом режиме.
Заключение
В этой статье мы рассмотрели несколько способов запустить скрипт Python в фоновом режиме в Linux. Вы можете выбрать подходящий для ваших нужд и использовать его для обеспечения продолжительности работы вашего скрипта, даже если вы не находитесь в системе или закрыли терминал.