我在尝试让我的python脚本在启动时运行时遇到很多问题。我实质上已将其范围缩小到分叉问题。
我在RPi3上运行。
在rc.local中,如果我有:
python /home/pi/script.py
它似乎运行了,但是我添加了
python /home/pi/script.py &
我得到零结果。 如果我在引导后手动运行rc.local,则分叉似乎可以正常工作。 我还尝试将rc.local指向/ home / pi中的.sh文件,结果完全相同。基本的echo命令甚至会发生这种情况:
echo "Hello world" > /tmp/log.txt
vs
echo "Hello world" > /tmp/log/txt &
任何帮助将不胜感激。
答案 0 :(得分:0)
我猜想这与以下事实有关:rc.local脚本的所有子进程在到达脚本末尾时都会被杀死,如果仅在文件正在将python脚本作为后台进程运行。
在执行任何有用的操作之前,叉子将被杀死。
如果希望进程在rc.local结束后继续运行,则应将其作为守护程序运行。
有关如何执行此操作的一些示例可以在以下问题中找到:Run bash script as daemon