Как добавить файл в автозагрузку python
Перейти к содержимому

Как добавить файл в автозагрузку python

  • автор:

Форум русскоязычного сообщества 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

Изображение 1

Проверим что наш python-скрипт слушает нужный нам порт:

sudo lsof -i | grep 9988

Иллюстрация 2

Команды для запуска, остановки и перезапуска сервиса:

sudo systemctl stop dummy.service #Для остановки сервиса sudo systemctl start dummy.service #Для запуска сервиса sudo systemctl restart dummy.service #Для перезапуска сервиса

Автозагрузка python скрипта при помощи скрипта?

Есть скрипт переведённый в exe’шник нужно закинуть его в авто-загрузку(Windows) при помощи скрипта в коде.

  • Вопрос задан более трёх лет назад
  • 1236 просмотров

1 комментарий

Простой 1 комментарий

MZOK

Гугли «Работа с реестром»

Решения вопроса 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

  • Python
  • +1 ещё

Error Connecting: HTTPSConnectionPool(host=’url’, port=443) как решить?

  • 1 подписчик
  • 3 часа назад
  • 10 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *