popen相关内容

subprocess.wait() 不等待 Popen 进程完成(使用线程时)?

我在使用 subprocess.Popen() 从我的 python 脚本中使用线程生成同一应用程序的多个实例以使它们同时运行时遇到一些问题.在每个线程中,我使用 popen() 调用运行应用程序,然后通过调用wait() 等待它完成.问题似乎是 wait() 调用实际上并没有等待进程完成.我尝试只使用一个线程,并在进程开始和结束时打印出文本消息.所以线程函数看起来像这样: def worker ..
发布时间:2022-01-18 15:37:09 Python

如何用 Python Popen 做多个参数?

我正在尝试制作一个带有按钮的 PyGtk Gui.当用户按下此按钮时,gnome-terminal 提示用户输入密码. 然后它将为 geditGit 存储库> JQuery 片段. 然后,它将 js.xml 文件复制到 /usr/share/gedit/plugins/snippets/js.xml 最后,它强行删除了 Git 存储库. 命令: gnome-termina ..
发布时间:2022-01-18 15:35:34 Python

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

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

使用 Popen 打开进程并获取 PID

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

如何从 Python (2.7) 中生成的进程中消除 Windows 控制台?

可能重复: 在没有控制台的情况下使用 Popen 在 pythonw 中运行进程 我在 Windows 上使用 python 2.7 使用 dcraw 和 PIL 自动进行批量 RAW 转换. 问题是我每次运行 dcraw 时都会打开一个 Windows 控制台(每隔几秒钟发生一次).如果我使用 .py 文件运行脚本,它就不会那么烦人,因为它只打开主窗口,但我更愿意只显示 GUI. ..
发布时间:2022-01-18 15:26:05 Python

在 python 脚本中启动 shell 命令,等待终止并返回脚本

我有一个 python 脚本,它必须为目录中的每个文件启动一个 shell 命令: 导入操作系统文件 = os.listdir(".")对于文件中的 f:os.execlp("myscript", "myscript", f) 这对于第一个文件很好,但是在“myscript"命令结束后,执行停止并且不会返回到 python 脚本. 我该怎么办?我必须在 调用 os.execlp() 之前 ..
发布时间:2022-01-18 15:25:39 Python

保持子进程活着并继续给它命令?Python

如果我使用给定命令在 python 中生成一个新的 subprocess(假设我使用 python 命令启动 python 解释器),我如何将新数据发送到过程(通过 STDIN)? 解决方案 使用标准的subprocess模块.您使用 subprocess.Popen() 启动进程,它将在后台运行(即与您的 Python 程序同时运行).当您调用 Popen() 时,您可能希望将 stdi ..
发布时间:2022-01-18 15:25:01 Python

子进程 Popen 和 call 有什么区别(我该如何使用它们)?

我想从 Python 调用一个外部程序.我已经使用了 Popen() 和 call() 来做到这一点. 两者有什么区别? 我的具体目标是从 Python 运行以下命令.我不确定重定向是如何工作的. ./my_script.sh >输出 我阅读了 文档,上面写着 call() 是一个便利功能或快捷功能.我们是否会因为使用 call() 而不是 Popen() 而失去任何权力? ..
发布时间:2022-01-18 15:23:33 Python

是否可以在子进程中运行函数而无需线程或编写单独的文件/脚本.

导入子流程def my_function(x):返回 x + 100output = subprocess.Popen(my_function, 1) #我想传递函数对象及其参数打印输出#期望输出:101 我只找到了有关使用单独脚本打开子进程的文档.有谁知道如何传递函数对象,甚至是传递函数代码的简单方法? 解决方案 我认为您正在寻找更像多处理模块的东西: http://docs.p ..
发布时间:2022-01-18 15:22:48 Python

如何使用 Popen 同时写入标准输出和记录文件?

我正在使用 Popen 调用一个不断将其标准输出和标准错误写入日志文件的 shell 脚本.有没有办法同时连续输出日志文件(到屏幕上),或者让shell脚本同时写入日志文件和stdout? 我基本上想在 Python 中做这样的事情: cat 文件 2>&1 |tee -a logfile #“cat 文件"将替换为一些脚本 同样,这将 stderr/stdout 一起传送到 tee,t ..
发布时间:2022-01-18 15:22:29 Python

用管道链接几个 Popen 命令

我知道如何使用 cmd = subprocess.Popen 然后 subprocess.communicate 来运行命令.大多数时候,我使用一个用 shlex.split 标记的字符串作为 Popen 的 'argv' 参数.以“ls -l"为例: 导入子流程进口shlex打印 subprocess.Popen(shlex.split(r'ls -l'),stdin = subprocess ..
发布时间:2022-01-18 15:22:19 Python

以冲突的可执行文件/路径打开

我想使用 Popen 从我的 Python 脚本中调用 ImageMagick 的“转换"实用程序,如下所示: Popen(["convert", input_path, "-flop", output_file_path]) (上面的例子只是将图像水平反转) 问题是当我在 Windows 中运行脚本时,它错误地调用了 Windows 附带的 convert.exe 实用程序将 FAT ..
发布时间:2022-01-18 15:20:40 Python

在运行时拦截子进程的标准输出

如果这是我的子流程: 导入时间,sys对于我在范围内(200):sys.stdout.write('正在读取 %i\n'%i )时间.sleep(.02) 这是控制和修改子进程输出的脚本: 导入子进程、时间、系统打印'开始'proc = subprocess.Popen('c:/test_apps/testcr.py',壳=真,标准输入=子进程.PIPE,标准输出=subprocess.PI ..
发布时间:2022-01-18 15:19:54 Python

如何为 popen 指定工作目录

有没有办法在Python的subprocess.Popen()中指定命令的运行目录? 例如: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') 我的 Python 脚本位于 C:\programs\python 是否可以在D:\test\local目录下运行C:\mytool\tool.exe? 如何设置子进程的工 ..
发布时间:2022-01-18 15:18:31 Python

即使直接子进程已终止,Popen 也会等待子进程

我在 Windows 8/XP 上使用 Python 2.7. 我有一个程序 A 使用以下代码运行另一个程序 B: p = Popen(["B"], stdout=PIPE, stderr=PIPE)标准输出,标准错误 = p.communicate()返回 B 运行批处理脚本 C.C 是一个长时间运行的脚本,即使 C 尚未完成,我也希望 B 退出.我已经使用以下代码(在 B 中)完成了 ..
发布时间:2022-01-18 15:18:13 Python