【问题标题】:Named PIPES in Suse Linux在 Suse Linux 中命名为 PIPES
【发布时间】:2014-04-24 21:14:23
【问题描述】:

我们有一个使用命名 PIPES 的 SAP 进程,我们被要求检查共享内存配置 (IPCS),我想问一下命名 PIPES 是否使用共享内存?以及文件的内容写在哪里,可以查看。

这是文件的样子:

prwx------ 1 aaxadm sapsys 0 Apr 21 11:20 MIGRATE_DT_00008.PIPE

我们在

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

谢谢 乔努乔伊

【问题讨论】:

  • 共享内存是完全不同的东西。命名管道只是一个磁盘上的 inode(认为是“文件”),它已附加到进程的 stdin/stdout。您像往常一样打开该文件并像在任何其他文件上一样使用 fread/fwrite,但内核会将这些数据重定向到管道另一端的进程作为它自己的 stdin/stdout。
  • 你在找这个吗? cat /proc/sys/fs/pipe-max-size ,但我应该警告您:通常与 /proc 相关的任何操作或实用程序通常被认为是不可靠的。
  • thx Marc,那么它将写入的数据存储在哪里,或者根本存储在哪里

标签: linux linux-kernel


【解决方案1】:

虽然文件系统中存在命名管道,但它实际上只有在读取端和写入端都打开并连接到某个程序时才使用。

封闭的管道不能包含数据,因此没有数据写入磁盘;数据只存在于内存中。

数据只在这两个程序之间传输,不与任意数量的进程共享,所以这不是共享内存。

【讨论】:

  • 谢谢,是否可以查看命名管道在使用时使用了多少内存
猜你喜欢
  • 2017-07-13
  • 1970-01-01
  • 2018-12-18
  • 2018-02-05
  • 2015-12-27
  • 2010-11-05
  • 1970-01-01
  • 2015-12-19
  • 2016-06-15
相关资源
最近更新 更多