Как запустить/остановить скрипт Python как службу в определенное время в CentOS?

Вы можете сделать это, используя аргументxargs-nи передать результат в цикл whileread.

page=1
while IFS= read -r row; do
    convert $row -append./Merged/page_$page.jpg
    page=$((page + 1))
done < <(echo image-{0000..3900}.jpg | xargs -n13)
0
16.05.2020, 15:43
1 ответ

Вы можете создать службу, которая запускает этот скрипт Python, создав файл службы /etc/systemd/system/python-script.service, как в этом примере:

[Unit]
Description=Python Script Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/python3 /root/script.py
Restart=on-abort


[Install]
WantedBy=multi-user.target

, затем запустите systemctl daemon-reload, чтобы перезагрузить systemd, и systemctl enable python-script, чтобы включить службу.

Запуск службы должен дать вам что-то вроде этого:

systemctl status python-script
● python-script.service - Python Script Service
   Loaded: loaded (/etc/systemd/system/python-script.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Wed 2020-05-13 23:10:30 CEST; 2s ago
  Process: 27405 ExecStart=/usr/bin/python3 /root/script.py (code=exited, status=0/SUCCESS)
 Main PID: 27405 (code=exited, status=0/SUCCESS)

May 13 23:10:30 server1 systemd[1]: Started Python Script Service.
May 13 23:10:30 server1 python3[27405]: Hello World!

Что касается планирования запуска/остановки службы, вы можете использовать для этого crontab

2
28.04.2021, 23:14

Теги

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