问题标签 [mkfifo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - 在 UNIX 中拉取文件和 zip
我正在使用 nzsql 从 netezza 服务器生成文件。现在要求的下一部分是将文件压缩并移动到另一个盒子(第二个 unix 盒子)。我可以在第一个盒子里实现这一点(坐在第一个盒子里,我先做 gzip,然后使用 scp 移动文件)。但我的问题是,这可以直接从第二个盒子完成吗?意味着在第一个框中将有将生成 nzsql 的文件,在第二个框中,该文件将被拉取,并且在拉取时将被压缩(使用 mkfifo 或通过任何其他方式)。在第一个框中,我不希望创建或驻留 zip 文件。请让我知道如何实现这一目标。
process - do not have the authority to access the file created by mkfifo
While using the FIFO to transmit information between different processes, I found out that the file that the mkfifo create cannot be accessed by the processes. I do not know how to change my program. Please help :(
And the authority of the file named signal is like the following:
named-pipes - 使用命名管道时终端提示消失
我正在尝试在项目中使用命名管道。我有两个终端打开,终端 A 和终端 B。
在终端 A,我发出了这个命令:
mkfifo myFifo && tail -f myFifo | csh -s
不过,似乎标准输出正在被重定向到其他地方,因为我的提示消失了,并且某些命令没有反映在终端 A 中。
例如,如果在终端 BI 中通过发出开始 python 会话echo "python" > myFifo
,那么echo "print 'Hello, World'" > myFifo
,我在终端 A 中看不到 Hello, World。
但是,如果我在终端 B 内发出,我会在终端 A 中echo ls > myFifo
看到正确的输出。ls
有谁知道为什么有时会出现输出而有时却没有?
我在 CentOS 6.6 上运行
谢谢,埃里普
windows - FIFO 文件 Windows 示例
我想知道是否有适用于 Linux mkfifo 的 Windows 等效项。等效地,我的意思是使用st_mode S_IFIFO创建文件的方式。感谢您的回答。
c - setuid 程序的管道访问权限
我正在扩展一些在 GNU / Linux (Ubuntu 14.04) 下运行并由一个manager
进程和几个worker
进程组成的软件(我不是其中的作者)。管理器可以通过我可以在配置文件中指定的命令行来启动一个工作器。
启动一个worker后,manager使用管道与它通信。出于安全原因,我们决定让工作人员在与经理不同的用户下运行(让我们称他们为manager-user
and worker-user
)。这是通过编写一个小包装脚本来实现的,该脚本可以切换用户su
并启动一个新的工作人员。在此之后,管理器可以通过管道与工作进程进行通信。这种方法已经工作了好几个月了。
作为 的替代方案su
,我们考虑使用该setuid
位来运行工人。所以我们编写了一个C
包装器,可以由管理器调用来启动一个工作器。如果我们将包装器配置为由 拥有manager-user
,则工作程序将正确启动(但当然,权限错误)。如果我们将包装器配置为归其所有worker-user
并设置该setuid
位,那么工作器将启动但随后退出,因为它们无法连接到管理器。
所以我的问题是:运行setuid
可执行文件如何影响父进程和子进程创建的管道的权限?难道是通过 setuid-wrapper 启动的工作进程没有打开管理器管道的权限(或相反)?如果是这种情况,我们如何更改这些权限?
我几乎没有使用经验,setuid
因此欢迎提供任何信息/解释。
linux - Linux非阻塞FIFO write()时序不一致
我们有一个实时 linux 用户应用程序,它通过mkfifo()
FIFO 与运行在同一主机上的另一个应用程序通信。我们的应用程序包含 4 个 pthread,其中之一创建并打开 FIFO。FIFO 在非阻塞 (O_NONBLOCK) 模式下打开。
write()
在 pthread 上到输出 FIFO 通常需要大约。8 微秒 - 这适用于最长约 2500 字节的消息。对我们来说,问题是偶尔,但经常,它需要 10 倍,而且很少需要几毫秒。发生这种情况时,消息长度不会比平时长。
大概有一些事情发生在“引擎盖下”,导致了这种情况。有什么办法可以避免吗?write()
只要我们没有看到很长的时间,平均时间是否有所增加也没关系。
感谢您收到任何意见/建议。
linux - R将tcpdump输出设置为fifo然后变量或连接
如何将此命令的实时流输出保存到在 while 循环中逐行运行的变量/连接?就像是:
或者
在 readLines(con, n = -1) 中使用“-1”参数清除整个 fifofile 似乎会持续地终止连接!?
named-pipes - GTKMM 监控 I/O 示例 100% CPU 负载
我正在从这里尝试 Gtkmm 监控 I/O 示例。在将某些内容写入 fifo 后,CPU 负载将达到 100%。
示例链接中显示的代码是我用于测试(复制/粘贴)的代码,我只删除了 build.config.h 头进行编译。
我使用以下方法编译它:
将代码转换为 Gtkmm 2 后,行为是相同的,在将某些内容写入 fifo 后,CPU 负载仍会达到 100%。
我的问题是,这是一个错误还是一个已知问题,或者可能是一个非问题?
bash - 为什么从fifo文件中读取-n会在shell中丢失数据
首先我做一个fifo
然后我向它呼应一些东西
打开另一个终端,并添加 sth 到它
当然,这两个都被阻塞了,然后我从fifofile中读取
全部都被释放了,我只有一个,而另一个字符不见了……
我的问题是为什么会发生这种情况,如何在不丢失数据的情况下从 fifo 文件中一一获取内容?
谢谢
c - mkfifo() 无法在 C 中创建文件
我正在尝试在 C 中创建一个命名管道,但没有任何成功。
这是我的代码:
每次输出时运行上面的代码:
请帮忙。