pexpect oracle,如何以sudo用户的身份执行pexpect-spawn-comand?

我正在尝试以sudo的形式执行pexpect spawn命令,并得到超时错误。

import pexpect,os,commands,getpass

child = pexpect.spawn ('su - oracle -c "/home/Middleware/bin/emctl status oms -details"')

child.expect("Enter Enterprise Manager Root (SYSMAN) Password :")

child.sendline("welcome1")

child.expect(pexpect.EOF, timeout=None)

cmd_show_data = child.before

cmd_output = cmd_show_data.split('\r\n')

for data in cmd_output:

print data

以下是执行输出:

pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().

version: 2.3 ($Revision: 399 $)

command: /bin/su

args: ['/bin/su', '-', 'oracle', '-c', '/home/Middleware/bin/emctl status oms -details']

searcher: searcher_re:

0: re.compile("Enter Enterprise Manager Root (SYSMAN) Password :")

buffer (last 100 chars): , 2016 Oracle Corporation. All rights reserved.

Enter Enterprise Manager Root (SYSMAN) Password :

before (last 100 chars): , 2016 Oracle Corporation. All rights reserved.

Enter Enterprise Manager Root (SYSMAN) Password :

after:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值