我有一些通过命名管道相互通信的进程.目前,我正在本地创建所有管道,并将应用程序保存在同一个工作目录中.在某些时候,假设这些程序可以(并且将)从不同的目录运行.我需要在已知位置创建这些管道,因此所有不同的应用程序都能够找到所需的管道.
我刚接触Linux并且不熟悉文件系统结构.在Windows中,我会使用AppData文件夹之类的东西来保存这些管道.我不确定Linux中的等价物是什么.
/ tmp目录看起来很可能正常运行.我已经在一些地方看到它已经在系统关闭时被清除了(这很好,当我开始备份时,我可能没有重新创建管道.)但是我看到其他一些人说他们正在丢失文件当系统启动时,好像它是定期清理的,当我的应用程序使用这些管道时我不想发生这种情况!
是否有更适合特定应用商店的地方?或者/ tmp是我想要保留这些的地方(因为它们毕竟是暂时的).
解决方法
我用/ var / run看过SaltStack.唯一的问题是你需要root访问权来写入该目录,但是假设你要将你的进程作为系统守护进程运行. SaltStack在安装时创建/ var / run / salt并将所有者更改为salt,以便以后可以在没有root权限的情况下使用它.
我还检查了文件系统层次结构标准,即使它不是那么重要,甚至他们说:
System programs that maintain transient UNIX-domain sockets must place them in this directory.
由于命名管道非常相似,我会采用相同的方式.