【问题标题】:Auto run from rc.local not working when forked (&)分叉时从 rc.local 自动运行不起作用 (&)
【发布时间】:2019-11-13 20:55:45
【问题描述】:

我在尝试让我的 python 脚本在启动时运行时遇到了很多问题。我基本上已将其范围缩小到分叉问题。

我在 RPi3 上运行。

如果我有,在 rc.local 中:

python /home/pi/script.py

它似乎运行了,但是只要我添加了

python /home/pi/script.py &

我得到零结果。 如果我在启动后手动运行 rc.local,则 fork 似乎可以按预期工作。 我还尝试将 rc.local 指向 /home/pi 中的 .sh 文件,结果完全相同。这甚至发生在基本的 echo 命令中:

echo "Hello world" > /tmp/log.txt

echo "Hello world" > /tmp/log/txt &

任何帮助将不胜感激。

【问题讨论】:

    标签: python raspberry-pi


    【解决方案1】:

    我猜这与 rc.local 脚本的所有子进程在到达脚本末尾时立即被终止这一事实有关,如果文件正在作为后台进程运行 python 脚本。

    叉子会在它做任何有用的事情之前被杀死。

    如果您希望进程在 rc.local 结束后继续运行,则应将该进程作为守护进程运行。

    关于如何做到这一点的一些例子可以在这个问题中找到:Run bash script as daemon

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2015-11-10
      • 2016-03-16
      • 2016-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多