当我意识到命令错误时,我正在寻找某种方法来停止输出到 STDOUT。例如,如果我不小心 cat 了一个非常大的文件。通常,如果您按住ctrl+c,但这需要很长时间。
有没有办法可以更立即停止输出?
答案1
您可以运行 ctl-z 将其置于后台,然后终止 PID。
$ ctl z (将其置于背景中)
$ kill -9 {pid} ‘刚刚进入后台的进程’
答案2
通常数据已经发送到显示器,而“长时间”是终端尝试显示数据的时间。对任务执行任何操作都无济于事(即Ctrl+Z或Ctrl+ C),您需要更快的终端或某种东西来缓冲数据。
我通过管道传输大量输出less
,具体tail
取决于我是否要查看文件的顶部或底部,因为这两者都允许我轻松控制发送到终端的数据量,并且如果这不是我想要的,则关闭程序。
答案3
您应该能够将其传输到more
或less
cat large_file.txt | less
这时,你可以翻阅答案,然后拿出一个:q
grep
如果您正在寻找特定的错误/问题,您还可以使用它来帮助对您的答案进行排序。
http://www.westwind.com/reference/os-x/commandline/pipes.html
答案4
在按下+或+后切换到其他终端(在文本模式下通过+ CTRL,或通过+ ,打开新窗口)将导致原始终端跳过尝试执行所有换行,并在更短的时间内直接跳转到输出的最后一行F1F6screen
CTRLACCTRLZCTRLC