Запустите Скрипт Python на начальной загрузке ОС

Это могло бы быть вопросом, который был повторен, но я не могу найти корректный способ сделать это.

Каков мой случай?-> я хочу запустить скрипт Python.

Что сценарий Python делает вкратце?-> сценарий Python работает для установки виртуальной частной сети.

Как я вручную в настоящее время запускаю его?-> я использую./file.py, запускаются (это работает),

что не работает?->, когда я пытаюсь запустить в beggining (начальная загрузка) его, doesnot делают что-либо. Я использую задание крона, которое не работает вообще, и я не хочу использовать его, я хочу использовать/etc/init.d/.

Это - мой file.conf в/etc/init/xxx.conf

description "file start script"
author "sijan <sijanshrestha2@gmail.com>"



exec python file.py start
exec sleep 10
exec ifconfig ip0 11.0.2.251

exec ip=`ifconfig ip0 | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`

exec echo $ip >>/tmp/ip.log

Я добавил файл Python в/etc/init.d/file.py

Я возможно не выполняю корректную процедуру, чтобы сделать это, так как я очень новое для системного уровня, однако любая идея о том, как продолжить двигаться, высоко ценюсь. Я очень стремлюсь получить зафиксированный и учиться

6
задан 14 February 2017 в 00:01

3 ответа

Поместите сценарий в /etc/rc.local. Сценарии там работают как корень, когда система запускается. Это также подходит для Raspberry Pi, когда Вы указали в комментариях.

В Вашем случае Вы хотите выполнить его, как python /path/to/script.py &

Вот мой образец rc.local файл, я использую тот же подход для выполнения батареи и сценариев контроля температуры

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/home/xieerqi/bin/batmon.sh &
/home/xieerqi/bin/preventShutdown.sh &
/home/xieerqi/bin/sh/temperature.sh  &

Дополнительная информация о телефоне /etc/rc.local

11
ответ дан 23 November 2019 в 07:25

Похоже, что необходимо закончить строковую цитату после адреса электронной почты, иначе другой код будут считать частью строки автора.

0
ответ дан 23 November 2019 в 07:25

Вы можете также делать это с кроном путем добавления следующего к Вашему crontab:

@reboot username python /python/to/file.py

Вы можете, или , возможно, не нуждается в имени пользователя там.

<час>

[РЕДАКТИРОВАНИЕ]

существует два протеста к этому подходу:

  1. cron демон должен работать (который имеет место при нормальных обстоятельствах);
  2. сценарий или crontab файл должны включать переменные среды (если таковые имеются), который будет необходим.
1
ответ дан 23 November 2019 в 07:25

Другие вопросы по тегам:

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