Это мой скрипт на Python (main.py):
#! /usr/bin/env python
import time
# ..... some file imports from the same folder .....
try:
# .... Some setup code
while True:
if turnOffRequestHandler.turnOffIsRequested():
break;
time.sleep(1)
except BaseException as e:
pass
finally:
# ..... Some code to dispose resources
И способ, которым я пытаюсь вызвать его при каждом запуске, состоял в том, чтобы сначала отредактировать 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.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
python3 /home/pi/Desktop/ProjectFolder/sample/main.py &
exit 0
и затем сделайте мой скрипт Python исполняемым, перейдя в каталог, в котором он находится, и выполнив следующую команду:
chmod 755 main.py
И затем я ожидал, что после перезагрузки системы мой скрипт запустится,Я не могу сказать, работает ли он или нет.Что я могу сказать, так это то, что i t должен вызывать некоторые конечные точки сети .Теперь мне интересно, действительно ли он был запущен, но Wi-Fi просто еще не подключился.
Как я могу это диагностировать?Потому что, когда я пытаюсь выполнить вручную (после загрузки системы и подключения Wi-Fi), например:
pi@raspberrypi:~ $ /etc/rc.local
он запускается, и все работает, как ожидалось.
РЕДАКТИРОВАТЬ: Возможно ли, что-то связано с тем, что скрипт, который я пытаюсь выполнить, ссылается внутри него на файлы, которые находятся в той же папке (которая отличается от / etc / ..)?.