使用子进程ssh和执行命令

2024-10-01 17:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要ssh进入服务器,执行一些命令,并使用子进程处理响应。这是我的密码

command = 'ssh -t -t buildMachine.X.lan; sudo su - buildbot ; build-set sets/set123'
print "submitting command"
result = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
print "got response"
response,err = result.communicate()
print response

这是卡住了。我见过其他线程在谈论如何将列表而不是字符串传递给子进程,并删除shell=True。。我也这么做了,但没用。在

最后,我需要最后一个命令的结果,即构建集,以便从中提取一些信息。。帮忙吗?在


Tags: 命令服务器true密码进程responseresultshell
1条回答
网友
1楼 · 发布于 2024-10-01 17:24:28

我用univerio的评论想出了解决办法

命令必须是

command = 'ssh -t -t buildMachine.X.lan \'sudo su - buildbot  \'build-set sets/set123\'\''

单个命令类似于前一个命令的参数。这很管用。在

相关问题 更多 >

    热门问题