jjzjj

python - 在 windows 7 下的 python 中使用文本文件作为标准输入

我是win7用户。我无意中读到了*nix系统中的重定向(如command1outfile),然后我发现somethingsimilarcanbedoneinWindows(link).python也可以用管道(?)或标准输入/标准输出(?)做这样的事情。我不明白这在Windows中是如何发生的,所以我有一个问题。我使用某种专有的Windows程序(.exe)。该程序能够将数据附加到文件中。为简单起见,我们假设它等同于whileTrue:f=open('textfile.txt','a')f.write(repr(ctime())+'\n')f.close()sleep(100)问题:我

c# - 将管道参数发送到 C# 应用程序

我需要构建一个接受管道作为输入的简单控制台应用程序。我们正在运行WindowsServer2012。数据来自另一个将输入“管道”到此应用程序的应用程序。我从Linux的角度了解管道,但从Windows的角度不太了解它们。我最好的猜测是我需要像这样向我的应用程序发送输入:C:\app.exe当使用“我的问题是,任何人都可以给我一个示例,说明如何在我的应用程序中接收流指针或类似于Windows管道的东西,以便我可以读取输入吗? 最佳答案 当您使用时和>对于应用程序,标准输入和输出流(屏幕/键盘接口(interface))被文件流取代。您

windows - 使用 cygwin 在 Windows 中进行并发流水线操作

假设我有一系列操作要应用于某些数据。实现这些操作的程序不一定是用同一种语言编写的,但它们都是通过从STDIN读取并写入STDOUT来工作的。在unix环境中,它可以被设置为像这样的管道:catdata.txt|prog1.sh|prog2.pl|prog3.py|prog4>out.txt并且它将对数据流同时执行4个操作。Windows中是否也会发生同样的情况?我记得几年前在windowsxp上用cygwin测试过这个,但我只看到任务管理器中运行了一个程序。cygwin、新的xp服务包或windows7/8是否有任何允许并发流水线的更改?还是它一直有效而我只是在测试中犯了一个愚蠢的错误

c++ - 使用管道从子进程重定向 I/O - winapi

我正在使用一个提供api的应用程序,以便更轻松地编写脚本。基本上,当您编写有效输入时,它会输出一个答案。我想使用该输出来发送更多输入,例如:Input:Output:1,56,23InputOutput:"Apple"我想要做的是一个写入目标进程STDIN,然后从它的STDOUT读取输出的程序。为此,我主要从那里获取代码:CreatingaChildProcesswithRedirectedInputandOutput(Windows)-MSDN唯一的问题是,为了从子进程读取,我首先需要关闭用于写入它的父进程的句柄,这意味着我不能使用子进程的输出来写入更多的东西。这是从msdn中提取的

linux - Windows IPC 模拟 Linux Unix 域和 Netlink 套接字

在Linux上,用户态进程和服务之间的IPC相当常见的方法是,例如,套接字接口(interface)(Unix域或网络链接)。简单地说——这在Windows中的模拟是什么?用户态进程如何与服务通信?准备阶段:假设我有一个正在运行的后台服务来监视网络上的设备。如果我想编写一个程序来利用此服务提供的服务,执行此操作的常见“Windows方式”是什么?如果我在这里完全偏离基础,Windows服务可以在Windows操作系统上扩展自身以便其他进程可能知道它正在主动监听连接的常见方式是什么? 最佳答案 Windows有命名管道,"Anamed

c++ - 两个控制台应用程序之间的管道?

如何在不同控制台窗口中运行的两个独立控制台应用程序之间进行管道连接?例如我想做类似的事情:ffmpeg-i0.flv-vcodecmpeg4-fasf-scif-|vlc-但是,我想从两个单独的窗口执行此操作,但这是行不通的,我想这是因为标准输出是cmd窗口的本地输出。命令窗口1:ffmpeg-i0.flv-vcodecmpeg4-fasf-scif-命令窗口2:vlc-有没有办法以编程方式实现这一点?|在幕后到底做了什么? 最佳答案 cmd所做的是将第一个进程的标准输出连接到第二个进程的标准输入,您可以通过编程方式完成此操作。有关

windows - 将批处理文件 ECHO 传递到 PUSHD 命令提示符命令中

我有一个Windows批处理文件,它输出目录路径,例如:@echoc:\windows我想将这个字符串“c:\windows”传递给PUSHD命令。我试过这个:path.bat|PUSHD但它会出错,显示“进程试图写入一个不存在的管道。”。请帮忙。解决的命令提示符日志看起来像这样:c:\>path.bat|PUSHDc:\Windows> 最佳答案 基本思路(需要适当调整):for/f%iin('path.bat')dopushd%i 关于windows-将批处理文件ECHO传递到PUS

C++ LPCTSTR 如何将命令行参数传递给子进程

LPCTSTRapplicationName=NUL//NULL=>modulenamefromcommandlinestringargument1="something";stringargument2="anotherthing";LPTSTRcommandLine="childpath\\child.exe";success=CreateProcess(applicationName,commandLine,processSecurityAttrs,etc...)我在这里要做的是尝试将父项的命令行参数传递给子项。但它是LPTSTR,我不知道如何组合string和LPTSTR类型并

windows - 如何将括号发送到由括号包围的管道中?

在Windows.bat文件中,我可以像这样使用重定向:(echoconnect/assysdbaechoselectsysdatefromdual;echoexit)|sqlplus-s/nolog它会运行(显然这个例子什么都不做)。我如何将括号传递到这种格式的查询中,例如:(echoconnect/assysdbaechoselecttrunc(sysdate)fromdual;echoexit)|sqlplus-s/nolog没有炸掉管道? 最佳答案 您需要在右括号前添加三个脱字符。(echoconnect/assysdbae

windows - 如何从 Perl 中的管道进行非阻塞读取?

我有一个程序正在调用另一个程序并处理child的输出,即:my$pid=open($handle,"$commandPath$options|");现在我已经尝试了几种不同的方法来从句柄中读取数据而不会阻塞,但收效甚微或没有成功。我找到了相关问题:perl-win32-how-to-do-a-non-blocking-read-of-a-filehandle-from-another-processwhy-does-my-perl-sysread-block-when-reading-from-a-socket但是他们遇到了问题:ioctl总是使perl崩溃sysread阻塞在0字节上