jjzjj

Windows命令行将字符串传递给groovy

我在Windows764位系统上,想使用Groovy在命令行上执行如下操作:echo"println('你好,世界...')"|常规-e但我似乎无法将echoo/p作为i/p传递给groovy命令,并不断收到以下错误:错误:非法使用-e(需要一个值)有人可以帮忙吗? 最佳答案 Groovy没有从标准输入读取脚本的选项。-e选项用于在命令行上指定脚本,如下所示:groovy-e"println('HelloWorld')"如果你真的需要运行一个通过管道传输到标准输入的脚本,试试这个:echoprintln('HelloWorld')|

c++ - 尝试在 Windows 上重定向标准输出和标准错误 - _fileno(stdout) 返回 -2

这是我的第一个问题!我准备将一些工作良好的C++代码从UNIX移植到Windows,它通过管道将stdout和stderr重定向到自定义GUI组件。我需要它来显示来自第三方库的反馈,该库仅将消息输出到我的GUI上的标准输出。根据这个答案https://stackoverflow.com/a/617158这应该工作。事实上,链接中的代码在使用VisualStudio2017构建的新命令行应用程序中按预期工作。但是在我现有的GUI应用程序中,调用_fileno(stdout)以及_fileno(stderr)两者都返回-2而不是预期值1和2,因此什么也没有发生。将1和2硬编码到相关函数也无

python - 是否可以在 Python 的线程内生成进程?

我正在编写一个生成进程并在特定条件下重新启动进程的程序。比如子进程不再给母进程发送数据,一段时间后,我想让母进程终止子进程,重新启动。我以为我可以使用线程从子进程接收数据并重新启动子进程,但它并不像我想的那样工作。importnumpyasnpimportmultiprocessingasmpimportthreadingimporttimefromapscheduler.schedulers.backgroundimportBackgroundSchedulerpipe_in,pipe_out=mp.Pipe()classMother():def__init__(self):self

c++ - WaitNamedPipe 只是挂起

我遇到了WaitNamedPipe函数挂起的问题。...这是我的代码中与问题相关的部分。我创建了一个进程,然后是一个管道,函数WaitNamedPipe似乎卡在了FALSE上,因此挂起。函数waitnamedpipe等待CC进程启动。PROCESS_INFORMATIONpo;STARTUPINFOs;GetStartupInfo(&s);if(CreateProcess("c:\\s2.exe",NULL,NULL,NULL,false,0,NULL,NULL,&s,&po)==FALSE){printf("Error%dstartingCC\n",GetLastError());e

windows - 创建进程退出时 Windows 中的命名管道会发生什么情况?

场景:进程使用CreateNamedPipe()创建管道并使用ConnectNamedPipe()连接到它,传输一些数据,然后退出(没有清理)。管道是否持续存在?它的另一面是在不同的进程中使用CreateFile()打开的,是否在创建进程退出时出错?更一般地说,命名管道的生命周期是多长?应该如何清理陈旧的管道? 最佳答案 管道是内核对象,它们会一直存在,直到所有关闭它们上的句柄。如果客户端没有好好说再见而其他进程继续使用它,您可能会得到ERROR_BROKEN_PIPE。 关于windo

c++ - 关于在windows :中使用CreateFile打开一个管道

引用here:hPipe=CreateFile(lpszPipename,//pipenameGENERIC_READ|//readandwriteaccessGENERIC_WRITE,0,//nosharingNULL,//defaultsecurityattributesOPEN_EXISTING,//opensexistingpipe0,//defaultattributesNULL);上面的代码如何确保它实际打开的是管道而不是现有的硬盘文件?顺便说一句,我怎样才能打开一个持久管道以便可以多次使用? 最佳答案 管道名称必须以

python - 使用管道在两个匿名 python 脚本之间传递数据

在Windows命令行中考虑这一点。scriptA.py|scriptB.py我想通过pickle:ing将字典对象从scriptA.py发送到scriptB.py并通过管道发送。但我不知道如何实现这一点。我在这里读过一些关于这个主题的帖子,但通常会有这样的答案:Popen("scriptA.py"´,...,andsoon)但我实际上并不知道“scriptA.py”的名称。我只想获取准备好的管道对象并发送/接收数据缓冲区。我已经尝试过sys.stdout/stdout,但我遇到了文件描述符错误,而且基本上还没有尝试过该轨道。过程很简单:脚本A.py:(1)Pickle/Seriali

python - 如何从 Windows 上的 Gstreamer 子进程读取二进制数据?

f=os.popen("gst-launch-qwhateversrc!...!fdsink")f.read(1024);在GNU/Linux上工作得很好,但导致\x0d\x0a而不是Windows的每个\x0a。如何修复?我也试过gst-launch-q.....!matroskamuxstreamable=true!fdsink>qqq3.mkvinconsole和qqq3.mkv也是乱码。gst-launch-qfilesrc位置=文件!fdsink>file2也转换为CRLF。要做什么?适用于Windows的Gstreamer构建没有tcp{server,client}sink

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();//