[英]Why is my Python script running twice in the background when I try to execute it at startup of my Raspberry Pi by adding the command to /etc/profile?
当我尝试通过将命令添加到 /etc/profile 来在 Raspberry Pi 启动时执行它时,为什么我的 Python 脚本在后台运行两次?
我在文件 /etc/profile 的末尾写了一个命令,用于在我的 Raspberry Pi 启动时运行 Python 脚本,“sudo python /path/filename.py &”,出于某种原因,它每次运行两次. 当我注释掉该行并从命令行手动执行它时,它运行正常。 为什么会发生这种情况,我可以做些什么来防止这种情况发生?
我确实知道它在后台运行了两次,因为在我的代码中我有一个蜂鸣器,它有时发出两次哔哔声,有时发出 3 次哔哔声,它发出 4 次而不是 2 次和 6 次而不是 3 次的蜂鸣声。代码也结束了自相矛盾,显然是因为每个脚本运行都试图同时做其他事情。
提前致谢。
我正在用一种在启动/启动时运行脚本的更好方法来回答我自己的问题。
我不确定为什么会发生这种情况,但我确实了解到使用这种方法在启动时执行脚本是一种不好的做法,最好避免。
我开始改用 Crontab。
这是您需要做的:
crontab -e
这将打开 crontab,然后添加以下行:
@reboot python /文件位置/文件名.py
这将在 Pi 启动后立即执行脚本。
不再运行双脚本!
你有启用VNC吗? 我认为这就是问题所在。 这是给我的。
请参阅此相关讨论:
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=59285
因此,您可以禁用 VNC,执行 danny 建议的运行级别,创建一个新用户(不同于用于 VNC 的用户)或开始在脚本中执行此类操作:
if [ x"$ALREADY_DONE" == x"" ]; then
export ALREADY_DONE=yes
foobar
fi
我的pi似乎只对每个python脚本运行两次,以为我发疯了,所以在一行中创建了一个“ hello world”脚本,运行它运行了两次.....任何人都需要执行两次的任何代码? 在我的pi上运行它,您只需要编写一半的代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.