为什么我的 Python 脚本 运行 在我的 Raspberry Pi 启动时通过将命令添加到 /etc/profile 来尝试在后台运行两次?
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?
为什么我的 Python 脚本 运行 在我的 Raspberry Pi 启动时通过将命令添加到 /etc/profile 来尝试在后台执行两次?
我在文件 /etc/profile 的末尾写了一个命令,用于 Python 脚本到 运行 在我的 Raspberry Pi、"sudo python /path/filename.py &" 启动时,并且出于某种原因,它每次 运行 两次。当我注释掉该行并从命令行手动执行它时,它 运行 正常。为什么会发生这种情况,我可以做些什么来防止这种情况发生?
我确实知道它在后台 运行ning 两次,因为在我的代码中我有一个蜂鸣器,有时发出两次哔哔声,有时发出 3 次哔哔声,它发出 4 次而不是 2 次和6 次而不是 3 次。此外,代码最终自相矛盾,显然是因为每个脚本 运行 都试图同时做其他事情。
提前致谢。
您是否启用了 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
我在 boot/startup.
上用 运行 脚本的更好方法回答我自己的问题
我不太清楚为什么会这样,但我确实了解到使用这种方法在启动时执行脚本是一种不好的做法,最好避免。
我开始改用 Crontab。
这是你需要做的:
crontab -e
这将打开 crontab,然后添加以下行:
@reboot python /filelocation/filename.py
这将在 Pi 启动后立即执行脚本。
不再运行双脚本!
为什么我的 Python 脚本 运行 在我的 Raspberry Pi 启动时通过将命令添加到 /etc/profile 来尝试在后台执行两次?
我在文件 /etc/profile 的末尾写了一个命令,用于 Python 脚本到 运行 在我的 Raspberry Pi、"sudo python /path/filename.py &" 启动时,并且出于某种原因,它每次 运行 两次。当我注释掉该行并从命令行手动执行它时,它 运行 正常。为什么会发生这种情况,我可以做些什么来防止这种情况发生?
我确实知道它在后台 运行ning 两次,因为在我的代码中我有一个蜂鸣器,有时发出两次哔哔声,有时发出 3 次哔哔声,它发出 4 次而不是 2 次和6 次而不是 3 次。此外,代码最终自相矛盾,显然是因为每个脚本 运行 都试图同时做其他事情。
提前致谢。
您是否启用了 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
我在 boot/startup.
上用 运行 脚本的更好方法回答我自己的问题我不太清楚为什么会这样,但我确实了解到使用这种方法在启动时执行脚本是一种不好的做法,最好避免。
我开始改用 Crontab。
这是你需要做的:
crontab -e
这将打开 crontab,然后添加以下行:
@reboot python /filelocation/filename.py
这将在 Pi 启动后立即执行脚本。
不再运行双脚本!