草庐IT

匿名管道

全部标签

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

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

windows - Sphinx:增量合并上的权限被拒绝/管道损坏

当我启动这个用于创建和合并增量的批处理命令时:D:\Sphinx\bin\indexer.exe--configD:\Sphinx\project\product.confidx_product_delta--rotateD:\Sphinx\bin\indexer.exe--configD:\Sphinx\project\product.conf--mergeidx_product_mainidx_product_delta--rotate在searchd.log中发现了这个错误,deltas没有合并到main中[FriSep2515:34:42.5492015][2312]WARNI

windows - Jenkins 管道 : Get value from ini file

我想从INI文件中获取一个值(版本构建号),并根据这个值设置Jenkins作业的描述。我还没有找到INI文件Jenkins插件,所以我想我会使用PowerShell或批处理脚本来解释INI文件。但是,将此值引入Jenkins管道作业的最佳方法是什么?将其存储在环境变量中?将其写入纯文本文件?使用Jenkins做这样的事情有什么约定吗? 最佳答案 您可以使用readFile管道步骤:https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-readfile-cod

c - 我用什么来替代管道的 GetFileSize()?

见标题。在命名管道的客户端,我想确定要从命名管道读取的内容的大小,以便为缓冲区分配内存以获取内容。MSDNhelp说:YoucannotusetheGetFileSizefunctionwithahandleofanonseekingdevicesuchasapipeoracommunicationsdevice.TodeterminethefiletypeforhFile,usetheGetFileTypefunction.嗯。好的。但是如果我不能使用GetFileSize要确定从管道可读的数据量,我应该使用什么?目前,我做length=GetFileSize(pipehandle,

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

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

windows - 带括号和管道的多行 Windows shell 命令

我正尝试在Windows上使用OpenSSL加密某些表单数据,但我很难弄清楚什么是正确的语法。使用以下命令,OpenSSL返回一条PKCS7消息,但仍然给我一条&wasunexpectedatthistime消息。(opensslsmime-sign-signerclient-public.pem-inkeyclient-private.pem-outformder-nodetach-binary^formkey1=formvalue1^formkey2=formvalue2^formkey3=formvalue3^^^)|opensslsmime-encrypt-des3-binar

c# - 任何人都可以解释以下用于 Windows 的匿名/恶作剧代码吗?

警告:不要在任何机器上执行此代码。它可能是恶意代码你好,我在fb上得到了一个文件,来自某人,显然看起来像一个病毒。所以我很高兴地下载了它,因为我不是在Windows上。我在virustotal上扫描过,它说这个文件是前段时间扫描过的,意思是这个文件已经流传了一段时间。我仍然对其进行扫描,virustotal说它是干净的。所以它的Zip文件,带有一个jar文件,当我将jar文件中的.class文件反编译为java代码时,它有硬编码的字符串到C:\驱动器和一个用于下载dat文件的保管箱网址。然后使用regsvr进行一些注册表级别的更改。所以,在那张纸条上,它被一个无辜的jar文件很好地隐藏

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

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

c++ - 具有动态内存的命名管道策略?

好的,所以我有一个需要一些IPC的应用程序...我认为命名管道是可行的方法,因为它们非常易于使用。无论如何,我有一个关于如何使用命名管道处理动态内存的问题。假设我有这样一个类:classMyTestClass{public:MyTestClass(){_data=newint(4);}intGetData(){return*_data;}intGetData2(){return_data2;}private:int*_data;int_data2;};现在,当我创建一个充满MyTestClass对象的缓冲区然后通过管道发送它们时,我显然在目标进程中丢失了_data并得到了垃圾。我应该使

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字节上