发送ctrl-c以断开kubectl+;sed输出,可靠

发送ctrl-c以断开kubectl+;sed输出,可靠,sed,kubectl,ctrl,Sed,Kubectl,Ctrl,使用sed格式化kubectl日志输出时,例如: kubectl log mypod-f | sed-u's/\\n/\n/g;s/\\t/\t/g' 当当前没有输出时,发送CTRL-C通常不会中断命令。有没有办法打破命令?可能我缺少一些命令选项?您可以使用以下命令中断命令,例如: $ timeout -k 1 5 kubectl log mypod -f |sed -u 's/\\n/\n/g; s/\\t/\t/g' $ kubectl log mypod -f |sed -u 's/\\

使用sed格式化kubectl日志输出时,例如:

kubectl log mypod-f | sed-u's/\\n/\n/g;s/\\t/\t/g'


当当前没有输出时,发送CTRL-C通常不会中断命令。有没有办法打破命令?可能我缺少一些命令选项?

您可以使用以下命令中断命令,例如:

$ timeout -k 1 5 kubectl log mypod -f |sed -u 's/\\n/\n/g; s/\\t/\t/g'
$ kubectl log mypod -f |sed -u 's/\\n/\n/g; s/\\t/\t/g' & 
$ kill -9 $!
此命令将在5秒后终止或在6秒后终止

或者,您可以添加
kill
命令来终止它,例如:

$ timeout -k 1 5 kubectl log mypod -f |sed -u 's/\\n/\n/g; s/\\t/\t/g'
$ kubectl log mypod -f |sed -u 's/\\n/\n/g; s/\\t/\t/g' & 
$ kill -9 $!

$
包含最近执行的后台命令的进程ID。

我找到了以下解决方案:在bash脚本中调用
kubectl log…
,并使用
trap CTRL\u C INT
捕获CTRL-C。在
ctrl_c()
中,我通过其id终止kubectl进程,该id以前存储在变量中。

或者,您可以通过按
ctrl+z
暂停当前进程,然后使用
kill-9%%
kill-9%+
()