Python 使用环境变量进行简单的进程间通信
如果我要使用Linux环境变量作为在不同进程(用Python编写)之间共享信息的简单方式,我需要注意哪些暗示/警告?例如,在单处理器/核心系统上读写是原子的吗 我正在Raspberry Pi上设计一个嵌入式系统,我将有多个独立的进程执行监视和控制。这些进程有时需要访问将由另一个进程更新的共享“属性”。例如,一个进程可能监视RFID读卡器,并使用上次刷卡的序列号更新环境变量。其他进程将能够访问该序列号并使用它Python 使用环境变量进行简单的进程间通信,python,linux,environment-variables,inter-process-communicat,Python,Linux,Environment Variables,Inter Process Communicat,如果我要使用Linux环境变量作为在不同进程(用Python编写)之间共享信息的简单方式,我需要注意哪些暗示/警告?例如,在单处理器/核心系统上读写是原子的吗 我正在Raspberry Pi上设计一个嵌入式系统,我将有多个独立的进程执行监视和控制。这些进程有时需要访问将由另一个进程更新的共享“属性”。例如,一个进程可能监视RFID读卡器,并使用上次刷卡的序列号更新环境变量。其他进程将能够访问该序列号并使用它 我考虑这个想法的唯一原因是简单。我只对在进程之间共享简单的字符串和数字感兴趣,我觉得这比
我考虑这个想法的唯一原因是简单。我只对在进程之间共享简单的字符串和数字感兴趣,我觉得这比使用套接字之类的东西更简单。我也在RPI上开发嵌入式系统,在某些情况下也有类似的要求。 根据我的经验,最好的方法是使用Linux命名管道(FIFO) 这里有一些资源,当然还有更多的在线资源:
环境变量绝对不是作业的工具。它们是在流程启动之前设置的,只能由该流程更改,并且只能由该流程启动的子流程观察更改。没有真正的沟通能力,除了一个方向…即使你可以,也不要这样做。没有“正常”的方法可以做到这一点,你可以做的是可怕的黑客,只会导致心痛。相反,可以问一个问题,详细说明流程需要如何交换信息,人们可以帮助您将选择范围缩小到适当的IPC。谢谢,经过一点实验后,我得出了相同的结论-您不能像我预期的那样真正使用它们。