subprocess相关内容
我有一个启动的小脚本,每半小时将一个命令馈入一个Java程序(游戏服务器管理器),就像用户在键入它一样.但是,在阅读了文档并进行了实验之后,我无法弄清楚如何获得两件事: 1)一个允许用户在终端窗口中键入命令的版本,它们将被发送到服务器管理器输入,就像“全部保存"命令一样. 2)仍在运行的版本,但是将任何新输入发送到系统本身,从而不再需要第二个终端窗口.实际上,这是现在发生的一半,因为键
..
嗨,我正在尝试从python调用以下命令: comm -3
..
在python子进程模块中,如果我们想运行shell命令 foo | grep bar 在python中,我们可能会使用 p1 = Popen(["foo"], stdout = PIPE) p2 = Popen(["grep", "bar"], stdin = p1.stdout, stdout = PIPE) p1.stdout.close() output = p2.comm
..
我在subprocess.Popen和我认为是管道的问题上遇到了问题.我有以下代码块,从cli运行时,在100%的时间内都不会出现问题: p = subprocess.Popen("psexec \\\\" + serverName.get() + " cmd /c \ ver & \ echo %USERDOMAIN% & \ dir
..
我正在尝试在Python中进行一些简单的IPC,如下所示:一个Python进程使用subprocess启动另一个.子进程将一些数据发送到管道中,而父进程则将其接收. 这是我当前的实现方式: # parent.py import pickle import os import subprocess import sys read_fd, write_fd = os.pipe() if h
..
上下文 我正在使用subprocess模块从python启动进程.我希望能够在写入/缓冲后立即访问输出(stdout,stderr). 该解决方案必须支持Windows7.我也需要针对Unix系统的解决方案,但我怀疑Windows案例更难解决. 该解决方案应支持Python 2.6.我目前仅限于Python 2.6,但仍赞赏使用更高版本的Python的解决方案. 该解决方案不应使用
..
说我写这个: from subprocessing import Popen, STDOUT, PIPE p = Popen(["myproc"], stderr=STDOUT, stdout=PIPE) 现在可以了 line = p.stdout.readline() 我的程序等待,直到子进程输出下一行. 我可以对p.stdout做任何魔术,以便我可以读取输出(如果有的
..
我正在用python测试子流程管道.我知道我可以直接在python中执行以下程序,但这不是重点.我只想测试管道,以便知道如何使用它. 我的系统是带有默认python 2.6的Linux Ubuntu 9.04. 我从这个文档示例开始. > from subprocess import Popen, PIPE p1 = Popen(["grep", "-v", "not"], std
..
我需要自动执行以下命令 cmd="yes | vgremove " 每当我使用此代码编写 Popen(cmd.split(),stdout=PIPE,stderr=PIPE) 它没有完成.我怀疑它会等到命令完成后,才敲打管道,这是否有替代方法? 解决方案 在这种情况下,有一种更简单的方法: Popen('vgremove -f ')
..
我正在尝试从Python内部启动文本编辑器(nano),让用户输入文本,然后在写出内容时(Control-O)捕获文本.我以前没有使用subprocess模块,也没有管道,所以我不知道下一步该怎么做. 到目前为止,我有以下代码: a = subprocess.Popen('nano', stdout=subprocess.PIPE, shell=True) a应该捕获输出的位置.但
..
我将我在应用程序中看到的问题简化为以下测试用例.在此代码中,父进程同时生成2个(您可以生成更多)子进程,这些子进程通过stdin从父进程读取一条大消息,休眠5秒钟,然后写回一些东西.但是,某处发生了意外的等待,导致代码在10秒内完成,而不是预期的5秒. 如果设置了verbose=True,则可以看到散乱的子进程正在接收大多数消息,然后等待最后3个字符的块-这并没有检测到管道已关闭.此外,如果
..
我正在尝试从同一Python脚本在两个终端中输出不同的信息(很像from subprocess import Popen, PIPE terminal = Popen(['xterm', '-e', 'cat'], stdin=PIPE) #Or cat > /dev/null terminal.stdin.write("Information".encode()) 然后,字符串"Infor
..
我正在子进程模块部分中阅读有关Popen类的Python文档,并且遇到了以下代码: p1 = Popen(["dmesg"], stdout=PIPE) p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE) p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits
..
在从属模式下运行时,我试图通过管道将命令发送到mplayer: import subprocess, time # start mplayer song = 'mysong.mp3' cmd = ['mplayer', '-slave', '-quiet', song] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subpr
..
我正在尝试使用 subprocess.popen()将 io.BytesIO() bytetream管道输送到单独的程序,但是我不知道怎么做或是否完全有可能.文档和示例都是关于文本和换行符的. 当我鞭打这样的东西时: import io from subprocess import * stream = io.BytesIO() someStreamCreatingProcess(s
..
似乎在链的第一个过程中使用shell = True会以某种方式从下游任务中删除标准输出: p1 = Popen(['echo','hello'], stdout=PIPE) p2 = Popen('cat', stdin=p1.stdout, stdout=PIPE) p2.communicate() # outputs correctly ('hello\n', None) 使第一个进
..
我有: cmd_array = ['head', '-n', str(source_noise_end), "data/noise/" + source + '_16k.dat', '|', 'tail', '-' + str(source_noise_start)] source_noise = subprocess.check_output(cmd_array) 该命令在我输入Lin
..
我有两个小python文件,第一个使用input读取一行,然后打印另一行 a = input() print('complete') 第二次尝试将此操作作为子进程 import subprocess proc = subprocess.Popen('./simp.py', stdout=subprocess.PIPE,
..
我正在编写一个执行scala命令的小型python应用程序.用户可以通过STDIN插入命令,然后python应用将其转发到scala解释器.执行命令后,应用程序将显示操作结果. 这个想法是使用Popen创建一个管道,通过该管道我可以发送命令并读取结果.这个想法很简单,但是没有用.我不明白的是,为什么打开管道后sys.stdin不再起作用.这使得无法在python中读取命令. 这是我正在
..
我正在尝试将结果或函数 runcmd 保存在变量 Result 中. 这是我尝试过的: 导入子进程 def runcmd(cmd): x = subprocess.Popen(cmd, stdout=subprocess.PIPE) Result = x.communicate(stdout) return Result runcmd("dir") 运行代码时,我得到以下结果
..