Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.043 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как добавить «.py» скрипт в автозагрузку (systemd)
Пробовал гугл-метОды, да, не помогло. Сам скрипт функционирует на ура, если запускать вручную через терминал. Что бы ещё попробовать?
agmsxx
17.05.20 16:36:25 MSK
anonymous
( 17.05.20 16:39:31 MSK )

Прописать интерпритатор. Можно в python файл
peregrine ★★★★★
( 17.05.20 16:39:35 MSK )
Написать sh-пускалку, внутри установка окружения, путей и запуск скрипта с нужным интерпретатором. А sh-пускалку уже в юнит добавить.
[Unit] Description= [Service] Type=simple ExecStart=/usr/bin/service_starter.sh Restart=always RestartSec=30 User=user_name [Install] WantedBy=multi-user.target
#!/bin/bash cd /path/to/need/ /path/to/interpreter/python /path/to/script/script.py
vvn_black ★★★★★
( 17.05.20 16:40:18 MSK )
Последнее исправление: vvn_black 17.05.20 16:47:54 MSK (всего исправлений: 3)
Ответ на: комментарий от vvn_black 17.05.20 16:40:18 MSK

Если от пускалки требуется только это, то ведь в .service-файл можно записать «WorkingDirectory=», «Environment=» и прочее, и обойтись без пускалки.
proud_anon ★★★★★
( 17.05.20 17:05:53 MSK )
Ответ на: комментарий от proud_anon 17.05.20 17:05:53 MSK
Я с этим сталкивался года 4 назад, тогда по-моему ещё не было WorkingDirectory и Environment. А в памяти «рабочий» вариант засел.
vvn_black ★★★★★
( 17.05.20 17:10:24 MSK )
Последнее исправление: vvn_black 17.05.20 17:10:42 MSK (всего исправлений: 1)

На файле +x есть? #!/usr/bin/env python3 в начале скрипта прописано? Логи неуспешного запуска есть?
Как установить в автозапуск python-скрипт используя systemd

Компьютерное
Автор Mirivlad На чтение 2 мин Просмотров 3.5к. Опубликовано 04.10.2017
Иногда требуется какой-то скрипт или программу запускать как системный сервис. Это можно легко провернуть, если в вашем дистрибутиве используется система инициализации и управления демонами — systemd.
Для примера, я создам простейший python-скрипт который будет слушать 9988 порт и добавлю его в автозагрузку при старте операционной системы.
1. Простой python-scrypt
sudo nano /usr/bin/dummy_service.py
#!/usr/bin/python3 import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("localhost", 9988)) s.listen(1) while True: conn, addr = s.accept() data = conn.recv(1024) conn.close() my_function_that_handles_data(data)
2. Создание файла сервиса.
Теперь создадим файл сервиса для с помощью которого расскажем systemd что нам требуется. Файл должен иметь расширение .service и находиться в директории /lib/systemd/system/
sudo nano /lib/systemd/system/dummy.service
Добавим информацию о нашем сервисе (можете изменить местоположение скрипта и описание сервиса):
[Unit] Description=Dummy Service After=multi-user.target Conflicts=getty@tty1.service [Service] Type=simple ExecStart=/usr/bin/python3 /usr/bin/dummy_service.py StandardInput=tty-force [Install] WantedBy=multi-user.target
Мне кажется из содержимого всё и так понятно — какая строка и за что отвечает.
3. Включение нового добавленного сервиса.
Вы добавили, наконец-то, ваш сервис в систему. теперь необходимо перезапустить демон systemctl чтобы он прочел новый файл. Каждый раз как вы вносите изменения в .service файлы вам нужно перезапустить демон.
sudo systemctl daemon-reload
Теперь включим запуск сервиса при загрузке системы, и запустим сам сервис.
sudo systemctl enable dummy.service sudo systemctl start dummy.service
4. Запуск/Остановка/Статус сервиса
В конце проверим статус нашего нового сервиса:
sudo systemctl status dummy.service

Проверим что наш python-скрипт слушает нужный нам порт:
sudo lsof -i | grep 9988

Команды для запуска, остановки и перезапуска сервиса:
sudo systemctl stop dummy.service #Для остановки сервиса sudo systemctl start dummy.service #Для запуска сервиса sudo systemctl restart dummy.service #Для перезапуска сервиса
Автозагрузка python скрипта при помощи скрипта?
Есть скрипт переведённый в exe’шник нужно закинуть его в авто-загрузку(Windows) при помощи скрипта в коде.
- Вопрос задан более трёх лет назад
- 1236 просмотров
1 комментарий
Простой 1 комментарий

Гугли «Работа с реестром»
Решения вопроса 1
irdaxirdaxirdax @irdaxirdaxirdax
from winreg import * # Путь в реестре key_my = OpenKey(HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, KEY_ALL_ACCESS) # Установить скрипт в автозагрузку SetValueEx(key_my, 'script', 0, REG_SZ, r'') # Закрыть реестр CloseKey(key_my)
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +1 ещё
Error Connecting: HTTPSConnectionPool(host=’url’, port=443) как решить?
- 1 подписчик
- 3 часа назад
- 10 просмотров