python - 如何在多个 Raspberry Pi 3 上同时运行 python 脚本?

标签 python raspberry-pi3

我试图让两个 Raspberry Pi 3 在从单个终端窗口运行相同的 python 脚本后同时运行它。我相信这两个设备是通过蓝牙配对的,但我不知道是否可以写一行或其他方法来让脚本同时在两个设备上运行。

任何帮助将不胜感激。

最佳答案

这完全取决于您对“同时”的定义。实际上,由于物理限制以及调度程序在网络接口(interface)上的工作方式,我们能做的最好的事情就是“几乎同时”。有两种方法可以做到这一点:

第一个,你可以运行 ntpdate -b [HOST]在其中一个带有 [HOST] 的 RP 上是网络上其他 RPi 的主机名或 IP 地址;这将在 NTP 协议(protocol)的容差范围内对设备进行时间同步(在同一本地网络上非常准确,在整个网络上越来越不准确)。然后,您可以在两台设备上设置一个 chrontab 作业,安排在未来某个已知时间调用该 python 脚本。您可以对此方法进行更复杂的变体(例如,设置主从等),其中将包含下一个解决方案的元素。

您可以使用的第二个解决方案是屏幕和安全 shell 执行。在这里,screens运行可以自动调用脚本和/或命令的并行终端 session 。您感兴趣的命令是您所指的 python 脚本:ssh [USER1]@[HOST1] [PYSCRIPT]对于第一个屏幕和 ssh [USER1]@[HOST1] [PYSCRIPT]在第二个。这只会在处理器调度程序和网络接口(interface)适配器调度程序的容忍范围内同时执行(可能会延迟几毫秒)。

如前所述,您可以将第一个解决方案与第二个解决方案混合使用,自动执行时间同步并更新 chrontab,以便在时间同步完成后立即执行脚本。这需要一些工作和调整,但却是许多分布式处理问题的常见解决方案。

关于python - 如何在多个 Raspberry Pi 3 上同时运行 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159209/

相关文章:

python - 是否可以在 ubuntu vps 服务器上运行 pygame?

python - 检索 redis 列表中由 ltrim 修剪的值

Python:创建两个范围并连接到一个表达式

linux - 来自 bash 脚本的 source ~/.bashrc 不起作用

c++ - OpenCV 构建 G++ 符号错误/DSO 错误

raspberry-pi - 树莓派 VNC 连接失败

python - Python 类变量赋值的不规则性

python - Django - 类型错误 : object of type 'NoneType' has no len() occurred while doing Pagination

python - 如何从无线设备向树莓派无线发送命令并读取它们?

raspberry-pi3 - 带有 Rasp3 7 英寸触摸屏的 Android Things