我运行这样的python脚本:
#!/usr/bin/env python
import subprocess,time
command = "ansible all -i /etc/ansible/hosts -m shell -a 'echo $(date)>>/tmp/111.txt && sleep 10 && echo $(date)>>/tmp/111.txt'"
subprocess.Popen(command, shell=True)
time.sleep(10)
print ("OK,DONE!")
这是一个非常示例的脚本,只需运行ansible并等待10秒钟,这应该花费20秒钟,但是我发现完成此脚本后的结果只有10秒钟。
为什么?我该如何解决? 顺便说一句,我的ansible是2.5.4。
答案 0 :(得分:0)
您正在异步运行ansible命令。请在此处查看此答案,该答案显示了如何以同步方式使用子流程:https://stackoverflow.com/a/22698825/4276009