subprocess相关内容

如何从 subprocess.communicate() 在 python 中捕获流输出

目前,我有这样的事情: self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE)出,错误 = self.process.communicate() 我正在运行的命令流式传输输出,我需要在继续之前阻止该进程. 如何才能捕获流输出并通过标准输出打印流输出?当我设置 stdout=subprocess.PIPE 时,我可 ..
发布时间:2022-01-18 16:14:04 Python

Python字符串作为子进程的文件参数

我正在尝试将文件传递给我作为 Python 子进程启动的程序 (MolPro). 它最常用的是一个文件作为参数,就像在控制台中这样: 路径/molpro 文件名.ext 其中 filename.ex 包含要执行的代码.或者一个 bash 脚本(我正在尝试做的,但是在 Python 中): #!/usr/bin/env bash路径/molpro 我正在尝试在 Python 中执行上 ..
发布时间:2022-01-18 16:13:35 Python

子进程Popen和通信后关闭所有文件的正确方法

我们在运行 python Twisted 应用程序的 Ubuntu Linux 机器上遇到了一些可怕的“打开的文件太多"的问题.在我们程序的许多地方,我们都在使用子进程 Popen,如下所示: Popen('ifconfig' + iface, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)输出 = proc ..
发布时间:2022-01-18 16:13:28 Python

在 bash 中获取当前日期而不产生子进程

这个问题纯属好奇.从 bash 运行 date 命令很容易获得日期,但它是一个外部可执行文件,需要产生一个子进程.我想知道是否可以在没有子进程的情况下格式化当前时间/日期.我只能在 PS1 和 HISTTIMEFORMAT 的上下文中找到对日期/时间格式的引用.后者允许这样做: HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S"历史 -s 回声x=$(历史)设置 -- $x日期 ..
发布时间:2022-01-18 16:13:21 其他开发

具有等号和空格的 Python 子进程参数

我试图在不使用 shell=True 关键字参数的情况下运行带有 subprocess.check_output 的命令.我的命令是这样的: command --parameter="带空格的东西" 有了这个: subprocess.check_output(['command', '--parameter="something with spaces"']) 命令变成这样: comma ..
发布时间:2022-01-18 16:12:26 Python

Python:子进程中的持久外壳变量

我正在尝试使用 Python 的 subprocess 模块执行一系列命令,但是我需要在运行它们之前使用 export 设置 shell 变量.当然,shell 似乎不是持久的,所以当我稍后运行命令时,这些 shell 变量会丢失. 有没有办法解决这个问题?我可以创建一个/bin/sh 进程,但是如何获得在该进程下运行的命令的退出代码? 解决方案 subprocess.Popen 采 ..
发布时间:2022-01-18 16:12:19 Python

在 Rust 中写入子进程的标准输入?

Rust 的 std::process::Command 允许通过 配置进程的标准输入stdin 方法,但该方法似乎只接受现有文件或管道. 给定一个字节,你将如何将它写入 Command 的标准输入? 解决方案 您可以创建一个标准输入管道并在其上写入字节. 由于 Command::output 会立即关闭标准输入,因此您必须使用 Command::spawn. Command ..
发布时间:2022-01-18 16:12:02 其他开发

是否可以修改子流程?

我知道 os.nice() 它非常适合父进程,但我需要对我的子子进程进行修改.我找到了这样做的方法,但它似乎不是很方便而且过于过度: os.system("renice -n %d %d" % (new_nice, suprocess.pid) ) 并且它不是在重新调整后返回结果良好的水平. 有没有更简洁的方式来在 python 中修改子进程? 解决方案 使用 subproces ..
发布时间:2022-01-18 16:11:36 Python

保存子进程命令的错误信息

当使用子进程运行 bash 命令时,我可能会遇到命令无效的情况.在这种情况下,bash 将返回错误消息.我们怎样才能捕捉到这个消息?我想将此消息保存到日志文件中.以下是一个示例,我尝试列出不存在目录中的文件. 尝试:subprocess.check_call(["ls", "/home/non"])df = subprocess.Popen(["ls", "/home/non"], stdout ..
发布时间:2022-01-18 16:11:28 Python

具有池/队列的Python多个子进程在一个完成后立即恢复输出并在队列中启动下一个作业

我目前正在启动一个子进程并随时随地解析标准输出,而无需等待它完成解析标准输出. all_samples 中的示例:my_tool_subprocess = subprocess.Popen('mytool {}'.format(sample),shell=True, stdout=subprocess.PIPE)线=真而线:myline = my_tool_subprocess.stdout.r ..
发布时间:2022-01-18 16:11:18 Python

OSError:[Errno 22] 子进程中的参数无效

Python 3.3.3视窗 7 这是完整的堆栈:回溯(最近一次通话最后):调用中的文件“Blah\MyScript.py",第 578 行输出 = process.communicate(输入=SPACE_KEY,超时=600)文件“C:\Python33\lib\subprocess.py",第 928 行,在通信中标准输出,标准错误 = self._communicate(输入,结束时间, ..
发布时间:2022-01-18 16:11:07 Python

终止子进程后终端文本变得不可见

在终止一个 ffmpeg 子进程后,终端变得一团糟——输入的字符是不可见的!输入仍然有效,可以执行命令,但键盘输入不会回显到终端. 发出 shell 命令 reset 使一切恢复正常(或 ipython 中的 !reset),因此解决此问题的方法是调用 os.system('reset') 在脚本中. 我尝试过的其他事情:import curses;curses.initscr() 在 ..
发布时间:2022-01-18 16:10:36 Python

在 Python 中使用子进程从进程中无缓冲读取

我正在尝试从产生长时间且耗时的输出的进程中读取.但是,我想捕捉它的输出以及何时.但是使用类似下面的东西似乎在缓冲命令的输出,所以我最终一次得到了输出行: p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, bufsize=0)对于 p.stdout 中的行:打印线 我正在 MacOS 10.5 上尝试这个 解决方案 ..
发布时间:2022-01-18 16:10:30 Python

Django的奇怪子进程问题

如果这是一个重复的问题,我很抱歉,但是在搜索了 3 页“django subprocess"之后,我,一方面,找不到我的特定问题的答案. 我试图在 tex 文件上运行 pdflatex,但由于某些原因在 Django 中它不会产生任何东西.不过,它在常规的 python 脚本中工作得很好.我在这里省略了大部分代码,但这基本上是重要的一点.我正在使用 mod_wsgi 在 apache2 上运 ..
发布时间:2022-01-18 16:10:14 其他开发

使用 Python 的子进程在新的 Xterm 窗口中显示输出

我正在尝试从同一个 Python 脚本在两个终端中输出不同的信息(很像 这个家伙).我的研究似乎指向的方式是使用 subprocess.Popen 打开一个新的 xterm 窗口并运行 cat 以在窗口中显示终端的标准输入.然后我会将必要的信息写入子进程的标准输入,如下所示: from subprocess import Popen, PIPEterminal = Popen(['xterm', ..
发布时间:2022-01-18 16:10:08 Python

检查 python 中正在运行的子进程的标准输出

如果需要定期检查正在运行的进程的stdout.例如,进程是 tail -f/tmp/file,它是在 python 脚本中产生的.然后每 x 秒,该子进程的标准输出被写入一个字符串并进一步处理.子进程最终被脚本停止. 要解析子进程的标准输出,如果使用 check_output 直到现在,这似乎不起作用,因为该进程仍在运行并且不会产生明确的输出. >>>从子流程导入 check_output ..
发布时间:2022-01-18 16:09:49 Python

os.system 和子进程调用的区别

我创建了一个程序,它在本地服务器中创建 Web 架构,然后加载必要的浏览器以在 localhost 上显示 html 和 php 页面. os.system 调用会杀死 python 进程,但不会杀死其他进程——例如,httpd.exe 和 mysqld.exe subprocess调用杀死httpd.exe和mysqld.exe程序但继续运行python代码,之后没有代码执行subp ..
发布时间:2022-01-18 16:09:41 Python

WindowsError:[错误 5] 尝试终止子进程时拒绝访问(python)

所以我有一个 python 脚本,它运行一个循环,它通过子进程调用程序 A.Popen 等待它的输出,然后保存输出,然后再次调用它,依此类推.(这在我设置为输入的多次运行中不断发生) 问题是我有一个计时器,这样每当程序 A 花费的时间超过特定的阈值时间时,脚本就会使用 process.kill() 终止进程并继续进行下一次迭代. 问题是,即使运行 300 次似乎一切正常,但有时我会收到 ..
发布时间:2022-01-18 16:09:20 Python

如何加快与子进程的通信

我正在使用带有 threading 线程的 Python 2 subprocess 来获取标准输入,并使用二进制文件 A、B 和 C 并将修改后的数据写入标准输出. 这个脚本(我们称之为:A_to_C.py)非常慢,我想学习如何修复它. 大致流程如下: A_process = subprocess.Popen(['A', '-'], stdin=subprocess.PIPE, st ..
发布时间:2022-01-18 16:08:59 Python