subprocess.Popen vs os.system; ssh命令与交互

时间:2018-05-06 09:49:03

标签: python python-3.x

我正在尝试编写一个脚本来在远程服务器上执行任务。有一个名为foo的变量,命令存储在其中。如下所示。

foo = "ssh -t -p 200 username@remoteserver -C -Y "sudo <any command that requires sudo>" 

The Probem

运行os.system(foo)时,我可以从服务器回复询问sudo密码。这是完美的,但是我知道使用os.system是 out 而子进程是

所以我尝试切换到子进程并在运行时:

subprocess.Popen(foo, shell=True, universal_newlines=True, stdout=subprocess.PIPE).wait()

我没有收到服务器的回复,询问我的sudo密码。所以最终,我爆发,因为它不起作用。

有人可以帮我解决这个问题吗?我到处寻找并认为必须使用communicate(),但我真的很困惑它是如何工作的。

0 个答案:

没有答案
相关问题