Articles of pipe理员

Linux为什么我不能find结果rm?

对不起,如果这是一个noobie问题,但我找不到一个好的答案。 find然后删除我可以使用的东西 find . -name ".txt" -exec rm "{}" \; 但是,为什么我不能把结果灌输给他们呢? find . -name ".txt" | rm 就像我会pipe它grep find . -name ".txt" | grep a 我从某个地方读过,rm不会从stdin那里得到input,所以我不能pipe它,但那是什么意思? 当我inputrm a.txt时,它会从标准input读取,就像我可以正确的grep? 或者stdin和命令行有区别。 帮帮我!

如何在Linux上列出软件包的所有依赖关系?

你如何列出一个软件包在Linux上的所有依赖项? 例如: GNU Make Package 有没有什么命令可以列出软件包的依赖关系? 我没有任何软件包pipe理器,因此我不能使用apt-rdepends或dpkg 。 我需要列出任何软件包依赖关系,而不使用软件包pipe理器软件。 这是可以做的事情,或者我必须手动查找包依赖关系。

你为什么要在linux中closurespipe道?

当使用pipe道进行过程 – 过程交stream时,closurespipe道一端的目的是什么? 例如: 如何使用pipe道在两个程序之间发送一个简单的string? 请注意,pipe道的一端在subprocess和父进程中closures。 为什么这是必需的?

如何列出连接到Linux共享内存段的进程?

如何确定哪个进程连接到共享内存段? awagner@tree:/home/awagner$ ipcs -m —— Shared Memory Segments ——– key shmid owner perms bytes nattch status 0x00000000 0 root 777 102400 1 0x00000000 32769 root 774 96 1 dest 0x00000000 98306 awagner 600 393216 2 dest 0x00000000 131075 awagner 600 393216 2 dest 即我如何确定哪两个进程连接到shmid 98306?

何时使用pipe道与何时使用共享内存

我正在阅读各种IPC机制。 我试图找出场景,我们使用共享内存和我们使用命名pipe道(FIFO)的地方。 pipe道:多个进程可以写入,但只有一个进程可以读取。 写操作是primefaces的。 共享内存:多个进程可以读写。 而且用户需要提供互斥的读写。 这是共享内存和pipe道的唯一区别吗?

基于Linux的程序

为这个写一个程序>>>>>> 一个程序将打开一个pipe道,写一个数字给pipe道。 其他程序将打开相同的pipe道,将读取数量并打印它们。 closures这两个pipe道。 我怎么能写一个基于这个任何一个知道的程序,然后请帮助我… !!!!

Linux上ru_maxrss的单位是什么?

这是来自man getrusage struct rusage { struct timeval ru_utime; /* user time used */ struct timeval ru_stime; /* system time used */ long ru_maxrss; /* maximum resident set size */ long ru_ixrss; /* integral shared memory size */ long ru_idrss; /* integral unshared data size */ long ru_isrss; /* integral unshared stack size */ long ru_minflt; […]

为什么malloc依赖于从某个阈值开始的mmap?

我正在读一些关于malloc的信息,并在malloc的手册页中find了以下内容: 通常,malloc()从堆中分配内存,并根据需要使用sbrk(2)调整堆的大小。 当分配大于MMAP_THRESHOLD字节的内存块时,glibc malloc()实现使用mmap(2)将内存分配为专用匿名映射。 MMAP_THRESHOLD默认为128 kB,但可以使用mallopt(3)进行调整。 使用mmap(2)执行的分配不受RLIMIT_DATA资源限制的影响(请参阅getrlimit(2))。 所以基本上从阈值MMAP_THRESHOLD malloc开始使用mmap开始。 有没有任何理由切换到大块的mmap? 这可能会影响stream程执行的性能吗? mmap系统调用是否强制上下文切换?

哪些片段受到写入时拷贝的影响?

我对“ 写时复制 ”的理解是:“每个人在写入之前都有一个相同数据的共享副本,然后进行复制”。 是由堆和bss段组成的相同数据的共享副本还是仅堆? 哪些内存段将被共享,这是依赖于操作系统?

如何在写入之前检查pipe道是否打开?

如果我写封闭的pipe道消息,然后我的程序崩溃 if (write(pipe, msg, strlen(msg)) == -1) { printf("Error occured when trying to write to the pipe\n"); } 如何在写入之前检查pipe是否仍然打开?