Docker 如何退出由于网络错误而冻结的'kubectl exec'命令?
有时,我会在终端选项卡中运行Docker 如何退出由于网络错误而冻结的'kubectl exec'命令?,docker,kubernetes,kubectl,Docker,Kubernetes,Kubectl,有时,我会在终端选项卡中运行kubectl exec bash,以检查容器或跟踪日志文件。当我关闭笔记本电脑,打开VPN,或只是暂时失去Wi-Fi时,该终端有时会冻结,使我无法在不关闭终端选项卡或手动终止进程的情况下退出它 我知道SSH会话有一个enter-tilda-period键组合,允许您在这种情况下退出,但这似乎不适用于kubectl-exec。在这种情况下,有没有类似的方法可以做到这一点?我认为您可以尝试以下方法 kubectl --request-timeout=10s [0][
kubectl exec bash
,以检查容器或跟踪日志文件。当我关闭笔记本电脑,打开VPN,或只是暂时失去Wi-Fi时,该终端有时会冻结,使我无法在不关闭终端选项卡或手动终止进程的情况下退出它
我知道SSH会话有一个enter-tilda-period键组合,允许您在这种情况下退出,但这似乎不适用于
kubectl-exec
。在这种情况下,有没有类似的方法可以做到这一点?我认为您可以尝试以下方法
kubectl --request-timeout=10s
[0][
或者您可能需要实现如下功能。[1]
[1] [不清楚导致exec命令异常挂起的问题的根源是什么 回到您的问题,您可以强制断开连接并返回(docker)终端的控制 通过对kubectl命令行设置:
--request timeout=
返回到您的手中:
kubectl exec——请求超时=5s bash
通过使用kill命令发送-9信号,可以强制终止kubectl exec
kill-9$(pidof kubectl)
我想说它与您的终端更相关,而不是其他任何东西。问题是关于终止交互式会话,而不是命令超时。在我的例子中,一个简单的pkill-f kubectl
(即术语
信号)起了作用,而-9
则不需要。