草庐IT

python - 在 Windows 中使用子进程 Popen.send_signal(CTRL_C_EVENT) 时如何达到预期的结果?

根据文档,在Windows中的Python2.7中,您可以发送CTRL_C_EVENT(Python2.7SubprocessPopen.send_signaldocumentation).然而,当我尝试它时,我没有在子进程中收到预期的键盘中断。这是父进程的示例代码:#FILE:parentProcess.pyimportsubprocessimporttimeimportsignalCREATE_NEW_PROCESS_GROUP=512process=subprocess.Popen(['python','-u','childProcess.py'],stdin=subproces

python - Popen 与冲突的可执行文件/路径

我想使用Popen从我的Python脚本调用ImageMagick的“转换”实用程序,如下所示:Popen(["convert",input_path,"-flop",output_file_path])(上面的例子只是简单的将图像水平反转)问题是当我在Windows中运行脚本时,它错误地调用了Windows附带的convert.exe实用程序来将FAT分区转换为NTFS!(位于\Windows\system32)现在,如果我在system32以外的任何目录随机打开命令提示符,并键入“convert”,它会正确运行ImageMagick可执行文件。所以,这意味着Popen会自动在sys

python - 子进程.Popen() : hide the cmd shell

我试图在启动时调用一个可执行文件,它会调用另一个可执行文件本身。对于第一部分,我只是将可执行文件的路径添加到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,这是有效的,我的可执行文件在启动时被调用。除其他外,后者包含以下几行:startupinfo=subprocess.STARTUPINFO()startupinfo.dwFlags|=subprocess.STARTF_USESHOWWINDOWstartupinfo.wShowWindow=subprocess.SW_HIDEproc=subproc

c++ - 有什么方法可以阻止 _popen 打开 DOS 窗口吗?

我正在使用_popen启动一个进程来运行命令并收集输出这是我的C++代码:boolexec(string&cmd,string&result){result="";FILE*pipe=_popen(cmd.c_str(),"rt");if(!pipe)return(false);charbuffer[128];while(!feof(pipe)){if(fgets(buffer,128,pipe)!=NULL)result+=buffer;}_pclose(pipe);return(true);}有没有办法在不打开控制台窗口的情况下执行此操作(就像目前在_popen语句中所做的那样)?

python - 只要子进程仍在运行,subprocess.Popen 后关闭套接字就会在 TIME_WAIT 中留下套接字

在Windows7上:鉴于此服务器代码:#inserver.pyif__name__=='__main__':serversock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#uncommentingthiswon'thelp#serversock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)serversock.bind(('',8888))serversock.listen(5)#acceptandreceivedummydatafromclientclientsock,

python - 从 subprocess.Popen 异步读取标准输出

我正在使用subprocess.popen运行一个子程序。当我从命令窗口(cmd.exe)启动我的Python程序时,程序会随着程序的发展在窗口中写入一些信息和日期。当我在命令窗口中不运行我的Python代码时,它会为这个子程序的输出打开一个新的命令窗口,我想避免这种情况。当我使用下面的代码时,它没有显示cmd窗口,但也没有打印状态:p=subprocess.Popen("c:/flow/flow.exe",shell=True,stdout=subprocess.PIPE)printp.stdout.read()如何在程序输出中显示子程序的输出? 最佳答案

python - subprocess.popen 的 poll 方法对于长进程返回 None

我正在通过子进程执行curl命令。此curl命令在另一台服务器上启动视频处理,并等待响应。该过程完成后,远程服务器返回json对象。我正在使用poll()值检查子进程的状态,该值是None-进程未完成,0-进程成功完成,1-表示错误。如果远程服务器上的处理时间大约为30分钟或更少,我将得到正确的响应,但如果处理时间更长,我将只得到None值,即使我可以看到远程服务器已完成处理并已返回json对象。谁能告诉我,poll()在特定时间后仅返回None的可能原因是什么。提前谢谢你。我的Popen对象是:object=subprocess.Popen(str(curlCmd),shell=Tr

python - 将箭头键发送到 Popen

我知道可以将可打印的输入发送到subprocesses通过writeingtotheirstdinfromsubprocessimport,Popen,PIPEproc=Popen([command,goes,here],stdin=PIPE)proc.stdin.write("m")我将如何发送输入,例如箭头键按下、空格键、回车键或退格键? 最佳答案 我发现有人试图解决相反的问题,创建一个可以识别箭头键的程序:Recognizingarrowkeyswithstdin我还发现http://compgroups.net/comp.u

python - 为什么向 subprocess.Popen 提供标准输入会导致写入标准输出的内容发生变化?

我正在使用Python的subprocess.Popen使用主机操作系统的二进制客户端执行一些FTP。由于各种原因,我无法使用ftplib或任何其他库。如果我将标准输入处理程序附加到Popen实例,二进制文件的行为似乎会发生变化。例如,使用XP的ftp客户端,它接受要发出的命令的文本文件:>>>fromsubprocessimportPopen,PIPE>>>p=Popen(['ftp','-A','-s:commands.txt','example.com'],stdout=PIPE)>>>p.communicate()[0]'Connectedtoexample.com.220Pr

Python Popen shell=False 导致 OSError : [Errno 2] No such file or directory

我正在尝试使用shell=False在OSX中运行以下Popen命令:command="/usr/local/itms/share/iTMSTransporter.woa/iTMSTransporter-mverify-f/Volumes/Stuff/Temp/TMP_S_0_V_TV2.itmsp-uusername-ppassword-o/Volumes/Stuff/Temp/TMP_S_0_V_TV2.itmsp/LOGFILE.txt-sprovider-veXtreme"self.process1=Popen(command,shell=False,stdin=PIPE)但是