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