我正在编写一个脚本来自动化远程服务器上的进程。基础知识看起来像:
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进行子进程调用并运行命令。