Articles of pipe理员

简单的shell。 混合pipe道和输出

我们来考虑一下: cat > outout.txt | cat > outout2.txt 我不知道如何解释这样的事情。 第二个命令的input是什么?

Linux Fork进程终止

//Executing shell command ls -l | sort int *pipeIN, *pipeOUT; int runLS(){ char* parmListLS[] = { "ls", "-l", NULL }; int pid = fork(); if(pid==0){ close(*pipeIN); dup2(*pipeOUT, STDOUT_FILENO); execvp(parmListLS[0], parmListLS); }else return pid; } int runSORT(){ char* parmListSORT[] = { "sort", NULL }; int pid = fork(); if(pid==0){ close(*pipeOUT); dup2(*pipeIN, STDIN_FILENO); execvp(parmListSORT[0], parmListSORT); }else return […]

linux内核将数据写入pipe道的地方

假设以下简单的代码: #include <stdio.h> #include <unistd.h> #include <sys/types.h> main() { int fd[2]; pipe(fd); // … write(fd, buf, VERY_BIG_NUMBER); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } 现在我的问题: 有人可以解释写入数据的位置吗? 它是否写入位于用户空间或内核空间的某个缓冲区? 人们可以写入pipe道的最大长度是多less? 由于pipe道写入是阻塞操作,效率的内核不会无所事事,等待读者将数据直接传递给它?

从pipe道读取()保证在EOF之前提供所有primefaces写入的数据?

我正在使用一个简单的fork()父子示例来让孩子生成一些数据,然后write()其write()为父。 孩子会primefaces地将less于64kib (65536字节)的数据写入pipe道。 父节点从pipe道中读取数据,当它接收到EOF (即:假设远端已closures)时,它会继续执行一些处理逻辑,并在其方便的时候closures,并且不关心需要多长时间终止。 是否保证能够读取在遇到EOF之前发送的所有客户端数据,或者在读取所有数据之前是否有任何潜在的操作系统级逻辑启动以触发EOF ? 我发现了一个非常类似的问题,但没有收到权威/引用的答案。 谢谢。

我可以pipe一个用户名列表useradd?

我有一个文件夹集合,我正在过滤下来,需要创build用户帐户去与他们。 我可以将输出从我的greppipe道作为用户名useradd ? 上下文:FTP迁移。 从Windows迁移到Linux FTP服务器,但存储位置仍在。 这些文件夹是旧的FTP用户文件夹,文件夹名称与FTPlogin名称相匹配。 看着: ls /media/OldFTP | grep -Ev '^[[:digit:]]{4}|^P[[:digit:]]{4}|^W[[:digit:]]{4}' | useradd -M -g ftpusers -N -p [encrytedPassword] 我试图将我的grepsearch的输出传递给useradd的用户名字段。

进程的Linux页表

Intel core i5, Ubunu 16.04 我正在阅读关于这里的内存分页,现在试图尝试它。 我写了一个简单的汇编程序来获取Segmentation Fault并在gdb中运行。 这里是: section .text global _start _start: mov rax, 0xFFFFFFFFFFFF0A31 mov [val], eax mov eax, 4 mov ebx, 1 mov ecx, val mov edx, 2 int 0x80 mov eax, 1 int 0x80 segment .bss dummy resb 0xFFA val resb 1 我汇编并链接到一个64位ELF静态可执行文件。 据我看,每个进程都有自己的页面表,这是cr3注册点。 现在我想看看自己的页面表? 是否有可能在Linux中find关于进程页表的信息?

如何跟踪C ++中的内存使用情况

我有一个在linux下运行的C ++程序。 是否有可能从代码中追踪内存使用情况? 我正在分配新的对象和内存不足,所以我想跟踪我使用内存的速度。 谢谢

在没有窗口pipe理器的情况下编写GTK +应用程序?

我想编码。 基本上就像TiVo一样。 打开它,你只能看到菜单或输出,所以用户不能直接看到底层操作系统或其他东西。 所以我想用Linux作为基础。 你能build议一个好的基地分布? 我可以编写一个前端没有窗口pipe理器启动和运行? 如果是的话,java-gnome是可能的,或者你会提出什么样的语言/ gui-framework组合? 如果不是,那么最小的窗口pipe理器可以处理奇特的菜单等等是什么? 通过HDstream创buildvideo叠加需要什么? 有什么图书馆我应该看看? 谢谢

如何从C / C ++获取virt大小?

有没有简单的方法如何从C / C ++代码获得Linux进程的virt大小? 谢谢

期待input从std :: cin(Unix C ++)

可能重复: 检测标准input是否是C / C ++ / Qt中的terminal或pipe道? 我正在写一个命令行应用程序,期望数据作为命令行参数,或从cin。 有没有办法检查用户是否在应用程序中传递了一些数据($ ./myapp <test.txt),如果没有,只显示键盘input提示? 如果我正在检查!cin.good()/ cin.eof()等,则提示将不会出现。