subprocess相关内容

如何在 python 代码中获取 .jar 执行的输出?

我正在编写 python 模块,该模块执行 SQL 到 DBMS 并检索数据.我正在尝试使用 jdbc jar 文件而不是本机 DB 驱动程序.我想知道如何在 python 中执行 jar 文件并从 jar 执行中获取输出.而且我想知道如何将 SQL 字符串传递给 jar 参数.这是简化的代码.非常感谢任何帮助. [java代码] 公共类 GetDBResults {公共静态无效主要(字符 ..
发布时间:2022-01-18 16:04:58 Java开发

Python:非阻塞+非失效进程

我想创建一个父进程,它会创建许多子进程.由于父进程负责创建子进程,因此父进程不会关心子进程的状态. 由于 subprocess.call 是阻塞的,它不起作用.因此我使用 subprocess.Popen 来替换调用.然而,一旦孩子终止,Popen 将生成僵尸(已失效)进程(Link). 有没有办法解决这个问题? 提前致谢 解决方案 有很多方法可以解决这个问题.关键是存在 ..
发布时间:2022-01-18 16:04:51 Python

subprocess.call() 和 subprocess.Popen() 之间有什么区别使 PIPE 对前者的安全性降低?

我已经查看了他们两个的文档. JF 在这里的评论提示了这个问题:检索输出subprocess.call() subprocess.call() 的当前 Python 文档 对 subprocess.call() 使用 PIPE 有如下说明: 注意不要在此函数中使用 stdout=PIPE 或 stderr=PIPE.如果子进程生成足够的输出到管道以填满操作系统管道缓冲区,则子进程 ..
发布时间:2022-01-18 16:04:44 Python

Python 子进程模块比命令慢得多(已弃用)

所以我写了一个脚本,在命令行上使用 nc 访问一堆服务器,最初我使用 Python 的命令模块并调用 commands.getoutput() 并且脚本运行了大约 45 秒.由于不推荐使用命令,因此我想将所有内容更改为使用 subprocess 模块,但现在脚本需要 2m45s 才能运行.有人知道为什么会这样吗? 我之前的: output = commands.getoutput("ech ..
发布时间:2022-01-18 16:04:34 Python

将标准输出从 subprocess.Popen 保存到文件,并将更多内容写入文件

我正在编写一个 python 脚本,它使用 subprocess.Popen 来执行两个程序(来自已编译的 C 代码),每个程序都会产生标准输出.该脚本获取该输出并将其保存到文件中.因为输出有时大到足以压倒 subprocess.PIPE,导致脚本挂起,所以我将 stdout 直接发送到日志文件.我想让我的脚本在文件的开头和结尾以及两个 subprocess.Popen 调用之间写一些东西.但是, ..
发布时间:2022-01-18 16:04:25 服务器开发

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

根据文档,在 windows 中的 python 2.7 中,您可以发送 CTRL_C_EVENT(Python 2.7 子进程 Popen.send_signal 文档).但是,当我尝试它时,我没有在子进程中收到预期的键盘中断. 这是父进程的示例代码: # 文件:parentProcess.py导入子流程进口时间进口信号CREATE_NEW_PROCESS_GROUP = 512进程 = ..
发布时间:2022-01-18 16:04:18 Python

在 python 中处理 tcpdump 输出

我正在尝试在 python 中处理 tcpdump 输出. 我需要的是运行 tcpdump(它捕获数据包并为我提供信息)并读取输出并处理它. 问题是 tcpdump 一直在运行,我需要在它输出后立即读取数据包信息并继续执行. 我尝试查看 python 的子进程并尝试使用 popen 调用 tcpdump 并通过管道传输标准输出,但它似乎不起作用. 有关如何进行此操作的任何说 ..
发布时间:2022-01-18 16:04:09 Python

python中存根文件(.pyi)的用途是什么?

我正在尝试了解 python 3 的较低级别的实现.子进程模块使用了一个名为 _posixsubprocess 的模块.我试图在我的系统中找到这个模块的位置,发现它是一个存根文件. 由于我不知道存根文件是什么以及它们如何在较低级别实现,因此有人可以指导我吗? 解决方案 _posixsubprocess 您引用的文件是用 C 编写的 Python 模块.它不是“存根"文件.真正的 ..
发布时间:2022-01-18 16:03:45 Python

Python3子进程输出

我想运行 Linux 字数统计实用程序 wc 来确定/var/log/syslog 中当前的行数,以便我可以检测到它正在增长.我尝试了各种测试,当我从 wc 中得到结果时,它包括行数和命令(例如,var/log/syslog). 所以它正在返回:第1338章但我只想要行数,所以我想去掉/var/log/syslog 部分,只保留 1338. 我尝试将它从字节串转换为字符串,然后剥离结果 ..
发布时间:2022-01-18 16:03:36 Python

使用 subprocess.Popen 的非常大的输入和管道

我有一个很简单的问题.我有一个大文件,它经过三个步骤,一个使用外部程序的解码步骤,在 python 中的一些处理,然后使用另一个外部程序重新编码.我一直在使用 subprocess.Popen() 尝试在 python 中执行此操作,而不是形成 unix 管道.但是,所有数据都缓冲到内存中.有没有一种 Python 的方式来完成这项任务,或者我最好退回到一个简单的 Python 脚本,该脚本从标准 ..
发布时间:2022-01-18 16:03:27 Python

运行 git 命令时如何获取子进程标准输出?

我有一个用 python 编写的程序,并在其中使用了 git 命令.出于某种原因,我不想使用 git-python 或其他代替子进程.但我目前卡在获取 git clone 输出. 我尝试了一些代码片段.有些适用于 ping 8.8.8.8 等命令,但不适用于 git clone. 例如 使用线程 def log_worker(stdout):而真:最后 = non_block_ ..
发布时间:2022-01-18 16:02:48 Python

python没有正确显示可执行输出

我正在使用代码在 Linux 终端中通过 python 执行可执行文件. 我在python中使用的代码是 导入子进程def 可执行文件():# 运行 cosmo 文件x=subprocess.run('cd .. && cd build && ./COSMO', shell=True, capture_output=True)打印(x)可执行外壳() 这里COSMO是我的可执行文件要运行 ..
发布时间:2022-01-18 16:02:31 服务器开发

Python subprocess.call - 将变量添加到 subprocess.call

我正在尝试用 Python 编写一个简单的程序,该程序从我的下载文件夹中获取所有音乐文件并将它们放入我的音乐文件夹中.我使用的是 Windows,可以使用 cmd 提示符移动文件,但出现此错误: WindowsError: [错误2]系统找不到指定的文件 这是我的代码: #!/usr/bin/python导入操作系统从子流程导入调用定义主():os.chdir("C:\\Users\ ..
发布时间:2022-01-18 16:01:54 Python

如何使用 Popen.communicate(在 Linux 上)传递击键(ALT+TAB)?

我在 Raspberry Pi 上以全屏模式打开了两个图像(使用 ristretto 图像查看器).当满足某些条件时,我需要传递一个 ALT+TAB 击键组合来显示另一个.我正在尝试使用 Popen.communicate,但我不知道如何传递诸如 ALT+TAB 之类的组合键).有没有人有任何想法? 我需要的是下面的内容(用工作代码替换“ALT+TAB"): s = Popen(['ris ..
发布时间:2022-01-18 16:01:39 服务器开发

如何在子进程中避免 shell=True

我有子进程命令来检查 md5 校验和为 subprocess.check_output('md5 Downloads/test.txt', stderr=subprocess.STDOUT, shell=True) 它工作正常.但我读了尽量避免 shell=True但是当我运行时 subprocess.check_output('md5 Downloads/test.txt', stderr ..
发布时间:2022-01-18 16:01:18 Python

Python子进程调用挂起

Python 版本:2.6.7我在执行 18 次的 for 循环中有以下 subprocess.call,但是,该进程在第 19 次循环中不断挂起: if config.get_bool_option(NAME, 'exclude_generated_code', True):对于 desc.iter_configs() 中的 conf:对于 desc.iter_generators(conf) ..
发布时间:2022-01-18 16:00:58 Python