Cela pourrait être une question qui a été répétée mais je ne peux pas trouver une façon correcte de le faire.
Quel est mon cas? -> Je veux exécuter un script Python.
Que fait le script python en bref? -> Le script python s'exécute pour configurer un réseau privé virtuel.
Comment puis-je le démarrer manuellement actuellement? -> J'utilise ./file.py start (ça marche)
qu'est-ce qui ne marche pas? -> quand j'essaye de commencer au début, ça ne fait rien. J'utilise cron job qui ne fonctionne pas du tout, et je ne veux pas l'utiliser, je veux utiliser le fichier /etc/init.d/.
Ceci est mon fichier.conf dans /etc/init/xxx.conf
description "file start script"
author "sijan <[email protected]>"
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
J'ai ajouté le fichier python dans /etc/init.d/file.py
Je ne suis peut-être pas en train de suivre la bonne procédure pour le faire car je suis très nouveau au niveau du système, mais toute idée sur la façon de procéder est très appréciée. Je suis très désireux de résoudre ce problème et d'apprendre
Placez le script dans /etc/rc.local
. Les scripts y sont exécutés en tant que root au démarrage du système. Il convient également à Raspberry Pi, comme vous l'avez spécifié dans les commentaires.
Dans votre cas, vous voulez l'exécuter en tant que python /path/to/script.py &
Voici mon exemple de fichier rc.local
. J'utilise la même approche pour exécuter des scripts de surveillance de la batterie et de la température.
#!/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 &
Vous pouvez aussi faire ceci avec cron en ajoutant ce qui suit à votre crontab :
@reboot username python /python/to/file.py
Vous pouvez ou peut ne pas avoir besoin du nom d'utilisateur dedans.
[MODIFIER]
Il y a deux mises en garde à cette approche:
cron
doit être en cours d'exécution (ce qui est le cas dans des circonstances normales);Il semble que vous ayez besoin de mettre fin à la citation de chaîne après l'adresse électronique, sinon l'autre code sera considéré comme faisant partie de la chaîne d'auteur.