这是编程和Linux问题的结合,但我认为它更适合这里。
我正在编写一个与ipcs (共享内存段)一起工作的应用程序,每次运行之后,我将使用bash命令ipcs检查是否留下任何ipcs。我注意到的比我创建的多得多,所以我认为它们是系统软件的一部分。
我决定检查每一个,看看它在哪里连接。在关闭进程之后,每个进程都是连接的,我注意到连接到共享内存段的进程之一是系统时钟。系统时钟,我指的是告诉时间下来的面板(或向上取决于你如何设置东西)的时钟,而不是CPU时钟。为什么在系统运行的所有进程中,时钟需要共享内存段?
发布于 2014-11-18 10:45:47
所谓系统时钟,我指的是告诉面板右转时间的时钟。
“系统时钟”通常指内核维护的时钟;应用程序(如date )和GUI时钟(如您所指的调用它的时钟)-- 像这样。
为什么在系统运行的所有进程中,时钟需要共享内存段?
linux上可能有几十种不同的基于GUI和DE的时钟,因此无法具体说明。这意味着它涉及多个进程,这些进程当然不是GUI时钟所必需的,但是如果它与桌面集成,谁知道呢--它还可能拥有一些尚未发现的功能。
从IPC的角度来说,在编程时,您有很多选择。您使用的方法取决于确切的要求,也可能还取决于个人的喜好。我更像是一个串行化的套接字,但共享mem非常受欢迎;当我运行ipcs -a时,我会在“共享内存段”下得到几十个条目。有趣的是,如果我在无头系统上运行它,就不会得到任何结果,因此这些都可能与GUI应用程序有关。滑翔和D-总线可以在共享mem上建立这些程序所使用的设施。
https://unix.stackexchange.com/questions/168618
复制相似问题