使用环境变量进行简单的进程间通信

0 投票
1 回答
1657 浏览
提问于 2025-04-18 03:45

如果我想用Linux的环境变量来在不同的进程(用Python写的)之间简单地共享信息,我需要注意哪些问题或者潜在的风险呢?比如,在单个处理器或核心的系统上,读写操作是原子性的吗?

我正在设计一个基于树莓派的嵌入式系统,里面会有多个独立的进程来进行监控和控制。这些进程有时需要访问一个共享的“属性”,这个属性会被另一个进程更新。例如,一个进程可能会监控一个RFID读卡器,并把最后一次刷卡的序列号更新到一个环境变量中。其他进程就可以访问这个序列号并使用它。

我考虑这个想法的唯一原因是因为简单。我只想在进程之间共享一些简单的字符串和数字,我觉得这样比使用套接字要简单。

1 个回答

0

我也在一个树莓派(RPI)上做嵌入式系统,某些情况下有类似的需求。根据我的经验,最好的方法是使用Linux的命名管道(FIFOs)。

这里有一些资源,不过网上还有很多其他的资料:

http://www.linuxjournal.com/article/2156
http://www.roman10.net/named-pipe-in-linux-with-a-python-example/
http://tuxthink.blogspot.com/2012/02/inter-process-communication-using-named.html

撰写回答