Articles of pipe理员

为什么du或echostream水线不工作?

我试图使用du命令为当前的每个目录。 所以我试图使用这样的代码: ls | du -sb 但它没有按预期工作。 它只输出当前的大小。 目录,这就是所有。 回声也是一样的 ls | echo 输出空行。 为什么发生这种情况?

我如何从我的Windows机器上运行安装在Linux机器上的OpenGL应用程序?

本着帮助的精神,这是一个我已经解决的问题,所以我会在这里回答这个问题。 问题 我有: 必须在Redhat或SuSE企业上安装的应用程序。 它有巨大的系统需求,需要OpenGL。 它是需要在一台机器上一起操作的一套工具的一部分。 此应用程序用于在工时方面的时间密集型任务。 我不想坐在这个应用程序的服务器机房工作。 所以,问题出现了…如何从远程Windows机器上运行此应用程序? 我将概述我的解决scheme。 随意评论替代品。 此解决scheme也适用于更简单的环境。 我的情况有点极端。

如何在两个进程之间用pipe道发送整数!

我想在POSIX系统中用pipe道发送一个整数,但是write()函数用于发送string或字符数据。 有没有办法用pipe道发送整数? 问候

读取不阻塞命名pipe道

我有下面的C代码从pipe道读取,然后应该阻止,但它永远不会阻止 int pipe_fd; int res; int open_mode = O_RDONLY; char buf[100]; int bytes_read = 0; memset (buf, '\0', sizeof(buf)); pipe_fd = open(FIFO_NAME, open_mode); if (access(FIFO_NAME, F_OK) == -1) { res = mkfifo(FIFO_NAME, 0777); if (res != 0) { fprintf (stderr, "Could not create fifo %s\n", FIFO_NAME); exit (EXIT_FAILURE); } } for(;;) { do { res […]

Bash匿名pipe道

当devise一系列命令来执行某个任务时,我遇到了匿名pipe道不像预期那样的问题。 由于我正在运行的原始命令太复杂了,所以在这里我已经创build了一个显示问题的例子(我知道所有这些命令基本上什么都没有做)。 此外,我使用PV来显示数据是否实际上从input复制到输出。 cat /dev/zero | pv > /dev/null 这按预期工作。 (将数据从/ dev / zero复制到/ dev / null) cat /dev/zero | tee /dev/null | pv > /dev/null 这也按预期工作(复制数据并将两个副本发送到/ dev / null) cat /dev/zero | tee >(pv -c > /dev/null) | pv -c > /dev/null 这个命令只有部分工作。 虽然从STDIN到STDOUT的拷贝仍然有效,(一个pv会在短时间内显示进度),但是整个命令会被匿名pipe道阻塞,而这个匿名pipe道并没有收到任何东西,因此其中一个输出不能被写入(我通过让它写入文件而不是/ dev / null来检查这一点)。 如果有人有一个想法,为什么这不起作用(如预期?)在bash中,我会很高兴的帮助。 PS:如果我使用zsh而不是bash,命令按预期运行。 不幸的是,这个需要运行的系统没有zsh,并且我没有办法在部署的系统上获得zsh。

截断内存映射文件

我正在使用内存映射IO的索引文件,但问题是,我不能resize为空的文件。 某处之前: MappedByteBuffer map = raf.getChannel().map(MapMode.READ_WRITE, 0, 1 << 30); raf.close(); // use map map.force(); map = null; 调整: for (int c = 0; c < 100; c++) { RandomAccessFile raf = new RandomAccessFile(indexFile, "rw"); try { raf.setLength(newLen); if (c > 0) LOG.warn("used " + c + " iterations to close mapped byte buffer"); return; […]

mmap和内存使用情况

我正在写一个程序,从networking接收大量的数据(不同大小),处理它们并将它们写入内存。 由于某些数据块可能非常大,我目前的做法是限制使用的缓冲区大小。 如果一个块大于最大缓冲区大小,我将数据写入一个临时文件,稍后读取文件块进行处理和永久存储。 我想知道这是否可以改善。 我一直在阅读有关mmap的一段时间,但是我不是百分之百确定它是否能帮助我。 我的想法是使用mmap来读取临时文件。 这有什么帮助吗? 我关心的主要问题是偶尔的一大块数据不应该填满我的主内存,导致所有的内容都被换出。 另外,你认为临时文件的方法是有用的吗? 我甚至应该这样做,或者,我应该相信linux内存pipe理器为我做这个工作吗? 或者我应该干点什么?

Linux中的pipe道是否会丢失数据?

有多less数据可以包含上限?

进程监控 – Python / Ubuntu / Linux

我有几个需要以deamon模式运行的进程,我刚刚发现了新手,所以我开始使用它。 是否有任何Python库或应用程序,我可以用来监视和控制这些进程从HTML界面? 我在问,因为我想阻止自己重新发明轮子。 🙂 有任何想法吗?

为什么常量存储在C内存映射的文本段中?

你好请考虑下面的代码片段,在Linux机器(64位)上用gcc编译,并带有相应的内存映射 #include <stdio.h> int global = 2; int main(void) { int local = 0; return 0; } text data bss dec hex filename 1092 500 16 1608 648 mem 这里有一个全局variables初始化为2。 它被存储在数据段中考虑使其为const的情况,如下所示 #include <stdio.h> int const global = 2; int main(void) { int local = 0; return 0; } text data bss dec hex filename 1096 […]