当我尝试通过将命令添加到/etc/profile?
我在文件/etc/profile的末尾写了一个命令,用于python脚本在我的覆盖物pi的启动时运行," sudo python/path/filename.py.py&",由于某些原因,它运行每次两次。当我评论该行并从正常运行的命令行手动执行时。为什么会发生这种情况,我该怎么做才能防止这种情况发生?
我知道它在后台运行了两次,因为在我的代码中,我有一个蜂鸣器有时两次蜂鸣器,而在其他人则有3次哔哔声,而蜂鸣声则是4次,而不是2和6次,而不是3次。最终代码与自身矛盾,显然是因为每个脚本运行都在尝试同时做其他事情。
预先感谢。
我正在用boot/startup运行脚本的更好方法来回答自己的问题。
我不确定为什么会发生这种情况,但是我确实了解到使用此方法执行启动脚本是一种不好的做法,并且最好避免。
我开始使用crontab。
这是您需要做的:
crontab -e
这打开crontab,然后添加以下行:
@reboot python/fileLocation/filename.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