python - Python子进程模块返回码问题
问题描述
我正在使用 python 子进程模块执行kubectl exec 命令,该命令返回错误。我仍然收到 0 的返回码和无效的 CRASHLOOPBACK 状态的 pod 状态。
在执行命令时获取正确的返回码需要帮助。执行的命令:
cmd = f"kubectl -n {cls.NS} exec -i {mainpod} -- sh -c \"/opt/user/data/bin/mdm -waitDb -v && /opt/user/data/bin/mdm -applySchema /etc/data/db/tables/ -v\""
result = subprocess.run(shlex.split(cmd))
日志输出:
INFO : Connection Obtained - database ready
ERROR: /etc/data/db/tables/ is not a valid directory
INFO : Closed DB connection.
CompletedProcess(args=['kubectl', '-n', 'test', 'exec', '-i', 'db-pod', '--', 'sh', '-c', '/opt/user/data/bin/mdm -waitDb -v && /opt/user/data/bin/mdm -applySchema /etc/data/db/tables/ -v'], returncode=0)
在上述情况下,如何获取正确的返回码?
解决方案
推荐阅读
- erlang - 只写了一个测试函数,报参数错误
- sql-server - 触发器中的保存点
- python - 获取孩子的完整标签名称
- c# - 无法通过 axios 执行 post 请求
- java - 过滤文件类型搜索和删除java
- angular - 在角度材料工具栏中放置主页链接
- java - 线程“restartedMain”中的异常 java.lang.reflect.InvocationTargetException
- javascript - 从每个页面加载调用 javascript 函数,而不在其他 html 页面中进行任何更改
- python - Beam / Dataflow 自定义 Python 作业 - 云存储到 PubSub
- android - 我使用 fcm 向设备发送通知,但收不到通知