Задать вопрос

Как запустить сразу несколько скриптов Python в автозапуске?

Добрый день. У меня сервер на Cent OS 7. Мне нужно запускать 3 скрипта Python при загрузке системы.
Создал я файл liq.service в каталоге:
[Unit]
Description=MyPy
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/python3.10 /usr/python/liqb.py /usr/python/liqby.py /usr/python/liqo.py
WorkingDirectory=/usr/python/
Restart=always

[Install]
WantedBy=multi-user.target

Пытаюсь сделать так и запустить 3 скрипта по загрузке сервера, но работает только первый и всё.
Если запустить в ручную liqby.py или liqo.py они работают без проблем, но в автозапуске не получается. Возможно что-то с ExecStart не то делаю.
Пути правильные, chmod на всех файлах есть.
  • Вопрос задан
  • 590 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@SunTechnik
1 сервис - 1 скрипт.
Вариантов 2:
- Делать на каждый скрипт свой сервис.
- Сделать общий скрипт, который будет запускать необходимые в фоновом режиме.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
AshBlade
@AshBlade
Просто хочу быть счастливым
ExecStart=sh -c "/usr/local/bin/python3.10 /usr/python/liqb.py && /usr/local/bin/python3.10 /usr/python/liqby.py && /usr/local/bin/python3.10 /usr/python/liqo.py"
Ответ написан
smorman
@smorman
When In Rome do as The Romans do...
Решение уже есть, но добавлю.
Можешь ещё использовать Supervisor.

И тоже на каждый сервис свой юнит.
Настроек побогаче в нём...
Хотя считается, что типа устаревшим способом, хотя обновляется регулярно.
Я использую и Systemd, и Supervisor.
Оба работают шикардос.
Ответ написан
Комментировать
@pfg21
ex-турист
в одном сервисе можно прописать несколько ExecStart - выполнятся они будут последовательно.
но наиболее правильно как уже сказали - делать по сервису на сервис :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы