Python 避免多个子进程Popen

Python 避免多个子进程Popen,python,openssl,subprocess,Python,Openssl,Subprocess,我将Popen用于这样的用例(这只是一个框架/想法): 最后,我将输出作为密码套件列表使用。如您所见,对该模块的每次调用都将调用新的openssl进程。每次调用的延迟约为40毫秒(1000秒的调用代价高昂) 我的目标是保持openssl进程处于活动状态,并通过unix套接字/管道与cipherstr通信。这样,我就调用了一次openssl,运行的进程根据不同的输入不断返回输出 AFAICT,openssl密码不从文件中读取,这破坏了我的假设 你有别的选择吗?我认为没有办法把一个只接受一个单词作为

我将Popen用于这样的用例(这只是一个框架/想法):

最后,我将输出作为密码套件列表使用。如您所见,对该模块的每次调用都将调用新的
openssl
进程。每次调用的延迟约为40毫秒(1000秒的调用代价高昂)

我的目标是保持
openssl
进程处于活动状态,并通过unix套接字/管道与
cipherstr
通信。这样,我就调用了一次
openssl
,运行的进程根据不同的输入不断返回输出

AFAICT,
openssl密码
不从文件中读取,这破坏了我的假设


你有别的选择吗?

我认为没有办法把一个只接受一个单词作为输入数据的程序变成某种永久运行的“服务”,响应任何数量的查询


如果您不想重新实现openssl密码-v,那么似乎只有一种方法可以加快查询速度:将结果放入缓存。

我不认为有任何方法可以将只接受一个单词作为输入数据的程序转换为某种永久运行的“服务”,响应任意数量的查询


如果您不想重新实现
openssl密码-v
,那么似乎只有一种方法可以加快查询速度:将结果放入缓存。

是否希望异步启动该过程而不等待输出?您是否阅读了python openssl包?您可能会在那里发现一些有用的东西,而不是使用命令行指令@RolfofSaxony我看过python ssl和pyOpenSSL文档。“那里没有什么对我有帮助的。”教父说,“我确实想等待输出。”。设想作为服务器运行的
openssl
进程,每个客户机都提供一个
cipherstr
,并等待听到输出。相关:是否希望异步启动进程而不等待输出?是否阅读了python openssl包?您可能会在那里发现一些有用的东西,而不是使用命令行指令@RolfofSaxony我看过python ssl和pyOpenSSL文档。“那里没有什么对我有帮助的。”教父说,“我确实想等待输出。”。想象一下作为服务器运行的
openssl
进程,每个客户端都会显示一个
cipherstr
,并等待听到输出。相关:
cipherstr = sys.argv[1]
cmd = 'openssl ciphers -v %s' % cipherstr
p = subprocess.Popen(shlex.split(cmd))
p.wait()