自动从rc.local运行时,分叉不起作用(&)

2024-05-08 02:34:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在启动python脚本时遇到了很多问题。我基本上把范围缩小到了分叉的问题

我用的是RPi3

如果我有:

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 &

任何帮助都将不胜感激


Tags: pyechotxt脚本loghellohomeworld
1条回答
网友
1楼 · 发布于 2024-05-08 02:34:45

我猜这与rc.local脚本的所有子进程在到达脚本末尾时都会被杀死这一事实有关,如果文件中唯一的命令作为后台进程运行python脚本,那么这几乎是瞬时的

叉子还没来得及做任何有用的事就会被杀死

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

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

相关问题 更多 >