类似地使用pexpect进行子处理

时间:2016-04-02 16:23:10

标签: python subprocess pexpect

我正在编写一个脚本来自动化远程服务器上的进程。基础知识看起来像:

import pexpect

logonPrompt = '[$#] '

test = pexpect.spawn('ssh user@server')
test.expect(logonPrompt)
test.sendline('/etc/init.d/service restart')
test.expect(logonPrompt)

现在服务重新启动后,我想生成一个新命令,将我放入服务日志的'less'输出中。简单地运行test.sendline('less / logs / service / logfile')无法正常运行。

我使用子进程模块完成了simular,只是简单地执行了一个subprocess.call(['less','/ logs / service / logfile')],它将控制台置于较少的进程中,然后在我执行时继续退出那个过程。

这可能与pexpect有关吗?有没有办法结合两者的力量?我需要pexpect,因为在重新启动服务之前我必须做一些向导,所以我不能简单地对ssh进行子进程调用并运行命令。

0 个答案:

没有答案