Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 September 04

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
шаг 7 - чтобы программу фоново запустить - нужно создать в /etc/systemd/system/ текстовый файл
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
какой линукс конкретно?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в файле указываешь
описание, какую команду выполнять при старте
[Unit]
Description=AudioTubeBot service
[Service]
Type=simple
WatchdogSec=1800
WorkingDirectory=/home/admin/audiotubebot
ExecStart=/usr/bin/python3.6 /home/admin/audiotubebot/main.py
Restart=always
RestartSec=5
SyslogIdentifier=audiotubebot-service
User=admin
[Install]
WantedBy=multi-user.target

домашнюю директорию и тд
источник

M

Mơкpенькaя kиcoньka... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ubuntu 18.04
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
systemd это системный супервизор
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
он позволяет запускать программы фоново, автоматически, следить за тем чтобы они перезапустились если упали и тд
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
вот создаешь файл
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
в файле указываешь
описание, какую команду выполнять при старте
[Unit]
Description=AudioTubeBot service
[Service]
Type=simple
WatchdogSec=1800
WorkingDirectory=/home/admin/audiotubebot
ExecStart=/usr/bin/python3.6 /home/admin/audiotubebot/main.py
Restart=always
RestartSec=5
SyslogIdentifier=audiotubebot-service
User=admin
[Install]
WantedBy=multi-user.target

домашнюю директорию и тд
в него копируешь вот это, поправив для своего бота - юзер, описание, домашнюю директорию и команду которой ты запускаешь его в терминале
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
сохраняешь файл, затем пишешь
sudo systemctl enable tvoibot.service
sudo systemctl daemon-reload
sudo systemctl start tvoibot.service
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
первой командой ты разрешаешь автозапуск сервиса при старте системы, второй - применяешь эти параметры, третьей - запускаешь сервис
sudo systemctl status tvoibot.service - чтобы узнать статус текущий работы сервиса
sudo systemctl stop tvoibot.service - остановить
sudo systemctl restart tvoibot.service - перезапустить
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
systemctl status opentfd.service
$● opentfd.service - Open-source Telegram Flood Daemon service
$Loaded: loaded (/etc/systemd/system/opentfd.service; enabled; vendor preset: disabled)
$Active: active (running) since Thu 2020-09-03 13:45:09 MSK; 1 day 3h ago
$Main PID: 1403 (opentfd)
$CGroup: /system.slice/opentfd.service
$├─ 1403 /home/slavikmipt/opentfd/opentfd
$├─ 1431 /home/slavikmipt/opentfd/opentfd
$└─20202 systemctl status opentfd.service
$Sep 03 13:45:09 slavikmipt.example.com systemd[1]: Started Open-source Telegram Flood Daemon service.
$-----TERMINATED-----
Open-source telegram shell
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
cat /etc/systemd/system/opentfd.service
$[Unit]
$Description=Open-source Telegram Flood Daemon service
$[Service]
$WorkingDirectory=/home/slavikmipt/opentfd
$ExecStart=/home/slavikmipt/opentfd/opentfd
$Restart=always
$RestartSec=10
$SyslogIdentifier=python-opentfd
$User=slavikmipt
$[Install]
$WantedBy=multi-user.target
$-----TERMINATED-----
Open-source telegram shell
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
вот пример сервиса который собственно мои сообщения склеивает и терминал в телегу пробрасывает
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я могу например вообще щас сервак перезагрузить
и склеивать перестались сообщения
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
reboot
$-----TERMINATED-----
Open-source telegram shell
источник

M

Mơкpенькaя kиcoньka... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
С ума сойти 😅
источник

M

Mơкpенькaя kиcoньka... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Спасибо
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
но после перезагрузки - сервис запустится вместе с системой автоматически
и будет перезапускаться если упадет
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
cat /etc/systemd/system/opentfd.service
$[Unit]
$Description=Open-source Telegram Flood Daemon service
$[Service]
$WorkingDirectory=/home/slavikmipt/opentfd
$ExecStart=/home/slavikmipt/opentfd/opentfd
$Restart=always
$RestartSec=10
$SyslogIdentifier=python-opentfd
$User=slavikmipt
$[Install]
$WantedBy=multi-user.target
$-----TERMINATED-----
Open-source telegram shell
тут только важно полный путь указывать в execstart к бинарнику питона
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
чтобы его узнать - пиши which python
источник