相关疑难解决方法(0)

Python子进程.check_call vs .check_output

我的python脚本(python 3.4.3)通过子进程调用bash脚本:

import subprocess as sp
res = sp.check_output("bashscript", shell=True)
Run Code Online (Sandbox Code Playgroud)

bashscript包含以下行:

ssh -MNf somehost
Run Code Online (Sandbox Code Playgroud)

这将打开与某个远程主机的共享主连接,以允许一些后续操作.

执行python脚本时,它将提示该ssh行的密码,但在输入密码后它会阻塞,并且永远不会返回.当我按ctrl-C终止脚本时,我看到连接已正确建立(因此ssh行已成功执行).

使用时,我没有这个阻塞问题check_call,而不是check_output,但check_call不检索标准输出.我想了解究竟是什么导致阻塞行为check_output,可能与某些微妙的相关ssh -MNf.

python ssh bash subprocess

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

python ×1

ssh ×1

subprocess ×1