草庐IT

anonymous-pipes

全部标签

Windows 批处理 : Pipe output from exe into a SET VARIABLE where output has spaces

有很多StackOverflow文章与此相关,但没有直接的答案。这条命令会输出一堆单词OutputVariable.exe%FILEPATH%输出:Maryhadalittlelamb在批处理文件中,这里是如何将输出放入变量for/f%%iin('OutputVariable.exe%FILEPATH%')doSETSENTENCE=%%iECHO%SENTENCE%输出:Mary通常,FOR命令会在空格处中断。帮助! 最佳答案 for/f"delims="%%iin('OutputVariable.exe%FILEPATH%')d

pipe - Windows 轮询或选择命名管道

我可以在Windows中对命名管道句柄使用选择和轮询吗?如果能举个例子就好了。(我对windows编程很陌生)如果其中一个进程宕机,而我正在另一端进行轮询,我会在另一个进程上收到任何错误消息,表明该进程已宕机吗? 最佳答案 不幸的是没有。Windows通过重叠的I/O和I/O完成端口促进异步通信的两种不同模式。简而言之,重叠I/O会在I/O操作完成时短暂接收回调。当I/O操作完成并允许应用程序同时扩展对多个套接字的处理时,IOCP在端口上接收事件。http://en.wikipedia.org/wiki/Iocp最坏的情况是,您可以

Windows 批处理脚本 : Pipe text into a command line application

我正在编写一个批处理脚本来自动执行一些3D打印过程。现在,我的代码如下所示:echoconnectCOM5230400>3dprint.txtechoload3dprint01.gcode>>3dprint.txtechoprint>>3dprint.txttype3dprint.txt|C:\Printrun\pronsole.exe所以Pronsole是一个命令行应用程序,它接受用户输入的命令(如上面的连接、加载和打印)。在上面,我让批处理文件创建了一个文本文件并将其传递到应用程序中-除非它遇到EOF,否则会导致pronsole崩溃。是否有替代方法将(stdin样式)文本传递到此不

java.io.IOException : The pipe is being closed is thrown on Windows but works fine on Linux 异常

我正在尝试使用Java中的Runtime.getRuntime.exec()运行命令。Runtimer=Runtime.getRuntime();Processprocess=r.exec("telnet172.16.221.87");InputStreamis=process.getInputStream();OutputStreamos=process.getOutputStream();BufferedWriterbr=newBufferedWriter(newOutputStreamWriter(os));br.write("ditech\r\n");br.flush();//

c++ - QProcess with non-wrapped pipe symbol |在参数列表中

你好,亲爱的stackoverflow用户,尝试在Windows上使用QProcess运行命令时遇到问题。除了对一个论点的解释外,一切正常。我正在调用vcbuild.exe来构建visualstudio2008解决方案。调用看起来像这样:QStringprogram="cmd.exe";QStringListarguments;arguments问题是,像“Debug|Win32”这样的名称是许多解决方案的常见配置名称,我想以编程方式构建它,调用我使用QProcess的程序-但符号“|”被视为管道符号,windows说:“命令Win32错误或找不到。”(orig."DerBefehl"

c - 使用 _pipe 非 block 重定向 STDOUT

正如标题所说,我正在尝试重定向stdout,以测试我有以下程序:#include#include#include#include#defineBUFFER_SIZE4096intmain(intargc,char*argv[]){intfdStdOutPipe[2];intfdStdOut;printf("ConsolePrint...\n");//Startfflush(stdout);_pipe(fdStdOutPipe,BUFFER_SIZE,O_RAW);fdStdOut=_dup(_fileno(stdout));_dup2(fdStdOutPipe[1],_fileno(s

c# - 如何取消 PIPE 操作?

我有一个C++和C#应用程序,我在其中使用命名管道向彼此发送命令。它运行良好,直到我注意到我无法取消Read()调用,我正在使用一个停止变量但没有注意到这不是我所需要的,因为它无法读取停止变量状态直到离开Read()称呼。我发现我会使用PIPE_NOWAITCreateNamedPipe()中的属性称呼。当我添加它时,C#抛出System.NullReferenceException因为FileStream为null,所以它是从newFileStream(clientHandle,FileAccess.ReadWrite,BUFFER_SIZE,true);创建的,其中clientHa

c++ - 类似于 mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);在窗口中

我正在尝试将一些linuxC++移植到Windows,但一直停留在这样的一行void*ptr=mmap(NULL,sz,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);我发现这是一种动态分配内存的方法,因为文件描述符是-1。我如何在Windows中执行此操作?我无法在没有文件处理程序的情况下使用MapViewOfFile的文档中找到任何内容。 最佳答案 MapViewOfFile不带文件句柄,它带文件映射句柄。要分配内存块,您可以创建一个匿名文件映射,如下所示:::DWORD

python - 子进程标准输入 PIPE 直到程序终止才返回

我一直在尝试排除带有子进程的subprocess.PIPE问题,但没有成功。我正在尝试将命令传递给始终运行的进程并接收结果,而不必每次都关闭/打开进程。这是主要的启动代码:启动器.py:importsubprocessimporttimecommand=['python','listener.py']process=subprocess.Popen(command,bufsize=0,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)#simulatessendinganewcommandever

.net - 如何在 Windows 服务中模拟时调用 net.pipe(命名管道)WCF 服务

我在使用来自C#Windows服务的Windows模拟通过net.pipe调用WCF服务时遇到问题。背景该服务从队列中读取并创建子应用程序域,每个应用程序域根据从队列中拉出的项目运行一个特定的模块。我们将Windows服务称为“JobQueueAgent”,将每个模块称为“作业”。我将继续使用这些术语。可以将作业配置为以指定用户身份运行。我们在作业的应用程序域内使用模拟来完成此操作。以下是服务中的逻辑和凭证流:JobQueueAgent(Windows服务-主要用户)>>创建作业域>>工作域(应用域)>>模拟子用户>>使用模拟在线程上运行作业>>作业(模块-子用户)>>作业逻辑“主用户