如何解决当 subprocess.check_call 失败时命令永远不会退出
我编写了一个小的python脚本来使用以下(简化的)代码包装mysql的备份
import shlex
import subprocess
import sys
...
try:
cmd = """xtrabackup --backup --compress | xbcloud put full --swift-container=foobar"""
status = subprocess.check_call(shlex.split(cmd),shell=True)
except subprocess.CalledProcessError:
print('oooops')
sys.exit(1)
有时我看到命令 xbcloud
失败(例如容器已经存在或它从 REST API 收到错误)并且管道命令永远不会存在,因为它是卡住的命令,因此永远不会到达异常 { {1}}。
我应该做些什么让命令终止并报告返回状态吗?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。