subprocess相关内容

您如何返回到源 bash 脚本?

我使用“来源";在 bash 脚本中,如下所示: #!/bin/bash源 someneatscriptthatendsprematurely.sh 我想退出 someneatscriptthatendsprematurely.sh 脚本,而不退出主脚本. 任何帮助表示赞赏! 解决方案 你需要return语句: 返回 [n] 使函数以 n 指定的返回值退出.如果省略n ..
发布时间:2022-01-18 15:33:29 其他开发

如何打印和显示子进程 stdout 和 stderr 输出而不失真?

也许有人在外面可以帮助我解决这个问题.(我在 SO 上看到了许多与此类似的问题,但没有一个同时处理标准输出和标准错误或处理与我非常相似的情况,因此提出了这个新问题.) 我有一个 python 函数,它打开一个子进程,等待它完成,然后输出返回码,以及标准输出和标准错误管道的内容.在进程运行时,我还想在填充两个管道时显示它们的输出.我的第一次尝试结果如下: process = subproce ..
发布时间:2022-01-18 15:33:22 Python

子进程似乎在 pyinstaller exe 文件中不起作用

当我使用 PyCharm 运行时,我在 tkinter 中的程序运行良好,当我使用 pyinstaller 创建 .exe 文件时, pyinstaller -i"icon.ico" -w -F script.py 我没有错误.我将 script.exe 粘贴在与 script.py 相同的文件夹中,运行它后,我认为 subprocess 所在的步骤是没有回答,因为我在子进程行及其工作之前有p ..
发布时间:2022-01-18 15:33:17 Python

从 python 与 bash 交互

我一直在玩 Python 的 subprocess 模块,我想用 python 中的 bash 做一个“交互式会话".我希望能够像在终端仿真器上一样从 Python 读取 bash 输出/写入命令.我想一个代码示例可以更好地解释它: >>>proc = subprocess.Popen(['/bin/bash'])>>>proc.communicate()('user@machine:~/',' ..
发布时间:2022-01-18 15:33:07 Python

如何从 python 调用程序而不等待它返回

有没有办法从 python 调用程序而不等待它返回?我创建了一个脚本,它将程序复制到目录并运行该程序.但是当我从 python 调用程序时,python 脚本在我启动的程序退出之前不会退出.我试过 os.system 和 Popen.还有其他方法吗? 添加信息:os.spawnl 和 os.P_DETACH 仍然不起作用;根据文档,“P_DETACH 类似于 P_NOWAIT,但新进程与调用 ..
发布时间:2022-01-18 15:33:00 Python

从需要标准输入的子进程实时打印标准输出

这是这个问题的后续行动,但如果我愿意要将参数传递给 stdin 到 subprocess,我怎样才能实时获得输出?这是我目前拥有的;我还尝试用 subprocess 模块中的 call 替换 Popen,这只会导致脚本挂起. from subprocess import Popen, PIPE, STDOUTcmd = 'rsync --rsh=ssh -rv --files-from=- th ..
发布时间:2022-01-18 15:32:45 Python

在 Python 2.5 中,我如何杀死一个子进程?

我正在使用 Python 中的 subprocess 包来运行一个子进程,稍后我需要将其杀死.但是,子进程包的文档指出 terminate() 函数仅在 2.6 中可用 我们使用 2.5 运行 Linux,出于向后兼容性的原因,我无法升级到 2.6,有什么替代方案?我猜这些函数是一些方便的方法. 解决方案 你在进程 pid 上调用 os.kill. os.kill(process. ..
发布时间:2022-01-18 15:32:09 Python

subprocess.Popen 的管道输出到文件

我需要使用 subprocess.Popen 启动多个长时间运行的进程,并希望从 stdout 和 stderr每个都自动通过管道传输到单独的日志文件.每个进程将同时运行几分钟,我希望将两个日志文件(stdout 和 stderr)per process 作为进程写入运行. 我是否需要在循环中对每个进程不断调用 p.communicate() 以更新每个日志文件,或者有什么方法可以调用原始 ..
发布时间:2022-01-18 15:32:03 Python

尝试修复 tkinter GUI 冻结(使用线程)

我有一个 Python 3.x 报表创建器,它的 I/O 绑定非常多(由于 SQL,而不是 python),以至于主窗口将“锁定".分钟,同时创建报告. 所需要的只是在 GUI 被锁定时使用标准窗口操作(移动、调整大小/最小化、关闭等)的能力(GUI 上的所有其他内容都可以保持“冻结"状态,直到所有报告已完成). 添加 20181129:换句话说,tkinter 必须只控制应用程序窗口 ..
发布时间:2022-01-18 15:31:39 Python

“子进程.Popen"- 检查成功和错误

我想检查一个子进程是成功完成还是失败了.目前我已经提出了一个解决方案,但我不确定它是否正确和可靠.是否保证每个进程仅将其错误输出到 stderr 尊重 stdout: 注意:我对重定向/打印输出不感兴趣.我已经知道该怎么做了. pipe = subprocess.Popen(command,标准输出=子进程.PIPE,stderr=subprocess.PIPE,Universal_new ..
发布时间:2022-01-18 15:30:38 Python

什么会导致“IOError: [Errno 9] Bad file descriptor"?在 os.system() 期间?

我正在使用一个科学软件,其中包括一个调用 os.system() 的 Python 脚本,该脚本用于运行另一个科学程序.当子进程运行时,Python 有时会打印以下内容: 在文件对象析构函数中关闭失败:IOError: [Errno 9] 错误的文件描述符 我相信这条消息是在 os.system() 返回的同时打印出来的. 我现在的问题是: 哪些情况会导致这种类型的 IOError ..
发布时间:2022-01-18 15:30:02 Python

使用 Popen 打开进程并获取 PID

我正在开发一个漂亮的小功能: def startProcess(name, path):"""在后台启动一个进程并写入一个 PID 文件返回整数:pid"""# 检查进程是否已经在运行状态,pid = processStatus(名称)如果状态 == 正在运行:引发 AlreadyStartedError(pid)# 开始进程进程 = subprocess.Popen(路径 + '>/dev/n ..
发布时间:2022-01-18 15:29:30 Python

等待进程直到所有子进程完成?

我有一个创建两个或多个子进程的主进程,我希望主进程等到所有子进程完成操作并退出? # main_script.pyp1 = subprocess.Popen(['python script1.py'])p2 = subprocess.Popen(['python script2.py'])...#等待主进程直到p1,p2都完成... 解决方案 一个 Popen 对象有一个 .wait() ..
发布时间:2022-01-18 15:29:13 Python

子进程“TypeError:需要一个类似字节的对象,而不是'str'"

我正在使用 几年前提出的问题中的这段代码,但是,我认为这已经过时了.尝试运行代码,我收到上面的错误.我仍然是 Python 的新手,所以我无法从类似的问题中得到太多的澄清.有谁知道为什么会这样? 导入子流程def getLength(文件名):结果 = subprocess.Popen(["ffprobe", 文件名],标准输出 = 子进程.PIPE,标准错误 = 子进程.STDOUT)retu ..
发布时间:2022-01-18 15:28:45 Python