#python #raspberry-pi #root #boot
#python #raspberry-pi #root #загрузка
Вопрос:
Я написал программу на python, которую хочу выполнить при загрузке, но она ДОЛЖНА выполняться от имени root, и я не знаю как. Что мне нужно сделать для достижения этой цели? Куда я должен поместить файл (скрипт находится в папке с необходимыми пакетами python), чтобы он запускался при загрузке? Как мне запустить файл от имени root? Независимо от того, нужно ли поместить папку python в определенный каталог, использовать другой скрипт для выполнения скрипта python или другим способом, пожалуйста, поделитесь своими решениями! Я делаю это на Raspberry Pi, поэтому ОС — Linux.
Комментарии:
1. Проверьте это: raspberrypi.org/forums/viewtopic.php?t=134401
Ответ №1:
Самый простой способ — создать службу systemd, которая может выглядеть:
[Unit]
Description=Some python script
After=network.target
[Service]
ExecStart=/usr/bin/python3 script.py
WorkingDirectory=/path/to/scriptdir
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
Вы должны сохранить это в /etc/systemd/system/servicename.service
where servicename
может быть что угодно, а затем настроить его для запуска при запуске с sudo systemctl enable servicename.service
помощью .
Комментарии:
1. Спасибо за ответ Aplet123. Хотя он запускается при запуске, я думаю, что он все еще не запускается как root. Как этого добиться?
2. Что заставляет вас так думать? Systemd должен запускать его от имени root.