named-pipe

Windows 默认隐藏文件系统
named-pipe

Windows 默认隐藏文件系统

在我学习命名管道在 Windows 内部的工作原理时,我发现了这样的解释: 每个管道都放置在命名管道文件系统 (NPFS) 的根目录中,并挂载在特殊路径 \.\pipe\ 下 这不是我第一次不明白 Windows 如何知道文件系统内文件的位置。 例如,当使用 powershell 查找注册表项时: Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion' 在 Windows 中寻找隐藏分区时,我发现的唯一一个是系统保留没有更多细节。 是个命名管道文件系统 (NPFS)存储...

Admin

ffmpeg 等待关闭管道以便开始处理数据
named-pipe

ffmpeg 等待关闭管道以便开始处理数据

在 Windows 系统上,我遇到了以下问题: 我从 SDK 获得实时流;通过回调获得字节块;容器是 MPEG-PS 我必须使用 VLC 向最终用户显示此直播流。但 VLC 无法播放我收到的此直播流 我的解决方案是使用 ffmpeg 将其转换为 MPEG-TS(或其他格式),以便 VLC 可以播放 我尝试了不同的可能解决方案,例如制作一个公开此流的 TCP 服务器,指示 ffmpeg 从那里读取输入。但 ffmpeg 抱怨它无法检测容器类型。如果我将通过该回调收到的字节保存到磁盘,我可以看到第一个字节是“IMKH”,表示 MPEG-PS 容器。如果我随后...

Admin

如何在 Audacity 中使用 Powershell 通过命令行打开文件进行操作?
named-pipe

如何在 Audacity 中使用 Powershell 通过命令行打开文件进行操作?

为 Audacity 创建宏非常容易,因为它们可以与程序本身的 UI 放在一起。 但是,通过命令行打开文件(为了在其上应用宏)不太明显。 我应该使用命名管道,但我不知道从哪里开始。您能否提供一个简单的脚本来打开 MP3 文件,并在其上应用过滤器或宏,然后保存结果? 先感谢您。 ...

Admin

在 ffmpeg 中使用命名管道
named-pipe

在 ffmpeg 中使用命名管道

在我的应用程序中,我想修改各种 mp3,然后将它们混合在一起。我知道我可以在 FFmpeg 中使用单个命令行来完成此操作,但最终可能会非常混乱,因为我需要对每个样本使用各种过滤器,而我有五个过滤器。我的想法是单独编辑每个样本,将它们保存到管道中,最后将它们混合在一起。 import subprocess import os def create_pipes(): os.mkfifo("pipe1") os.mkfifo("pipe2") def create_samp(): sample= subprocess.r...

Admin

systemd StandardOutput 重定向不适用于 systemd 套接字
named-pipe

systemd StandardOutput 重定向不适用于 systemd 套接字

我有一个像这样的 systemd 服务 (my-server.service): [Unit] Description=My Server After=syslog.target network-online.target my-server.socket [Service] Type=simple ExecStart=/usr/bin/java myserver.jar Sockets=my-server.socket StandardOutput=fd:my-server.socket [Install] WantedBy=multi-user.ta...

Admin

即使以 root 身份也无法删除、更改文件或修改文件权限
named-pipe

即使以 root 身份也无法删除、更改文件或修改文件权限

我想删除一个网站的备份(使用 FTP 镜像wget),但只有一个文件,名为js_composer.lessresists。我可以在同一目录中创建新文件并删除它们,因此问题可能出在文件本身上。 不可能强制删除: $sudo rm -f js_composer.less rm: cannot remove 'js_composer.less': Operation not permitted 我无法改变它权限: $sudo chmod 644 js_composer.less chmod: changing permissions of 'js_com...

Admin

使用命名管道提供终端输出时如何保存终端输出
named-pipe

使用命名管道提供终端输出时如何保存终端输出

我们知道可以使用以下语法在 Linux 终端中保存程序的结果: terminal.out > result.txt 或者 terminal.out | tee result.txt 但是当我使用命名管道提供程序时,我无法保存程序的输出,如下所示: terminal.out < pipe_in | tee result.txt 或者 terminal.out < pipe_in > result.txt 谁能告诉我正确的语法是什么? ...

Admin

fifo 管道大小是否受磁盘缓存分配空间的限制?
named-pipe

fifo 管道大小是否受磁盘缓存分配空间的限制?

在 Linux CentOS 7 上,我使用 mkfifo 创建的命名 fifo 管道来处理在多处理器磁盘服务器(配备 132GB RAM 和 20TB RAID 磁盘的 Dell R730xd)上运行的进程对之间传递的数据。 为了在连接到管道的两个进程之间拥有一些数据缓冲区,当我打开管道时,我还将其大小设置为某个大值(比如 128MB)。 为了允许较大的管道​​尺寸,我必须设置: /proc/sys/fs/pipe-max-size = 134217728 /proc/sys/fs/pipe-user-pages-soft = 0 (i.e. no ...

Admin

命名管道显然不工作/没有响应?
named-pipe

命名管道显然不工作/没有响应?

我正在尝试使用命名管道作为一种方便的方式来动态预处理管道的输入,遗憾的是这些管道不能直接接受来自标准输入的数据。 无论我在哪里寻找信息,我得到的基本都是相同的要点:命名管道应该非常容易使用。 要点主要是以下内容应该起作用: mkfifo mynamedpipe echo "is this working?" > mynamedpipe cat mynamedpipe 当我运行时mkfifo mynamedpipe,管道已成功创建并可见ls *。 但即使在我授予自己对该管道的写权限之后,当我尝试运行时,echo "whatever" >...

Admin

壳管 - 事物的顺序
named-pipe

壳管 - 事物的顺序

因为netcat我的盒子不支持-e,所以netcat手册页给了我这个解决方法: $ rm -f /tmp/f; mkfifo /tmp/f $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f 我不明白这是如何工作的。我认为当您尝试cat /tmp/f这样做时,它会被阻止,直到写入某些内容/tmp/f,如果被阻止,命令的其余部分将如何运行? ...

Admin

创建命名管道的符号链接
named-pipe

创建命名管道的符号链接

假设某个应用程序公开了一个名为“Pipe1”的命名管道。如果我想将命名管道表示为可用于写入或读取的文件路径,\\.\pipe\Pipe1则该路径\\?\pipe\Pipe1有效并指向命名管道。 现在,为了更轻松地验证路径(某些应用程序可能不喜欢\\.\),我想也许可以使用符号链接指向命名管道设备。我尝试通过、和创建链接mklink link \\.\pipe\Pipe1,mklink link \\?\pipe\Pipe1但mklink link \\?\GlobalRoot\Device\NamedPipe\Pipe1尝试打开链接时,所有这些都失败了,并...

Admin

如何“尾随”多个管道文件或流?
named-pipe

如何“尾随”多个管道文件或流?

我需要监控大量 Web 服务器的运行时错误,我想运行如下脚本 /bin/bash -e #!/bin/bash -e # 主机示例 主机=( 主机1 主机2 ) 对于 ${HOSTS[@]} 中的主机 做 [[ !-e ${主机}.pipe ]] && mkfifo ${主机}.pipe (ssh -n $host “tail -n0 -F /tmp/test” >> ${host}.pipe)& 完毕 尾部-F-c +0 *.pipe 并且它应该会给我这样的输出: ==&gt...

Admin

使用 Virtualbox 在主机和客户机之间建立命名管道连接
named-pipe

使用 Virtualbox 在主机和客户机之间建立命名管道连接

我有两个应用程序通过命名管道(Unix 域套接字)进行通信 - 都在一台机器上。我不知道如何让 VirtualBox VM(Linux)中的应用程序打开主机(Centos7)上的命名管道。 我已经挂载了共享文件夹,因此 Linux VM 可以看到包含命名管道“文件”的共享文件夹。但是当它尝试连接时,它得到了 ECONNREFUSED(无人监听)。 我在 VirtualBox 管理器中唯一能看到的是设置串行端口以指向命名管道的部分。但我希望虚拟机中的应用程序连接到实际的命名管道,而不是 COM1。 这可能吗? ...

Admin

如何使 vstest 命名管道在 Windows 10 中正常工作
named-pipe

如何使 vstest 命名管道在 Windows 10 中正常工作

和许多其他人一样,我使用 Visual Studio 进行软件开发。现在,我喜欢的功能之一是将 VSTest 集成到软件中。 VSTest 依靠命名管道在主机进程(测试进程)和 IDE 之间进行通信。不幸的是,主机进程和使用命名管道的测试运行器之间的通信似乎存在问题。 https://stackoverflow.com/questions/17664886/error-debugging-code-in-visual-studio-2012-failed-to-initialize-client-proxy有更多信息,但由于这最终归结为操作系统/防火墙/...

Admin

使用 Hyper-V Generation 2 VM 在 Linux 中配置 UART/COM
named-pipe

使用 Hyper-V Generation 2 VM 在 Linux 中配置 UART/COM

我在 Hyper-V 中将 Linux Mint x64 设置为 Windows 10 桌面上的第 2 代虚拟机。我想将 USB->串行转换器 (FT232RL) 连接到虚拟机,以便可以对嵌入式硬件进行编程和调试。在 Windows 中,FT232RL 显示为“USB 串行端口 (COMx)”,并且运行正常。当我使用 VirtualBox 时,我只需将 COM 端口连接到虚拟机或从虚拟机上断开连接,一切就都正常了。 与第一代虚拟机不同,Hyper-V 中的第二代虚拟机在其设置中不显示 COM 端口/命名管道,因此我不确定如何访问相应的设置。有一篇文章...

Admin