大量の出力にもかかわらず、猫の出力をすぐに停止するにはどうすればよいですか?


9

コマンドが間違っていることに気付いたときに、STDOUTへの出力を停止する方法を探しています。たとえば、非常に大きなファイルを誤って作成した場合です。通常、ctrl+cを押すと最終的に停止しますが、時間がかかります。

よりすぐに出力を停止する方法はありますか?

回答:


10

ctl-zを実行してバックグラウンドにし、PIDを強制終了できます。

$ ctl z(バックグラウンドで)

$ kill -9 {pid}「バックグラウンド化されたプロセス」


1
kill -9どうしても必要ないのに、なぜ歌ってるの?
benjwadams 2014年

2

多くの場合、データはすでにディスプレイに送信されており、「長い時間」はデータを表示しようとする端末です。タスクに何をしても役立たない(つまり、Ctrl+ ZまたはCtrl+ C)。データをバッファするために、より高速な端末または何かが必要になります。

Iパイプ大出力経由lessしてtail、私は両方とも、それは私が欲しいものではありませんなら、私は簡単に端末に送信されるデータの量を制御し、プログラムを終了することを可能にするので、上部またはファイルの末尾を表示するかどうかによって異なります。


1

(経由で別のターミナルへの切り替えCTRL+ F1F6テキストモードで、またはで新しいウィンドウを開くscreen経てCTRL+ AC)のいずれかを押すた後、CTRL+ ZまたはCTRL+ Cすべての改行をやろうスキップして、直接、最後の行にジャンプするには、元の端末が発生します短時間での出力


これは、「長い時間」がネットワークバッファーに送られ、すべてのテキストを受信端末に転送するのに長い時間がかかる場合に機能しますか?もしそうなら、例えばターミネーターでどのように同じことを達成しますか?別のタブに切り替えても何も起こりません。一方、〜を使用してsshセッションを終了するとします。その後、すぐに停止します。でもセッションを殺したくない。
vontrapp 2018

@vontrapp良い質問(おそらく新しい質問の価値があります)。私の推測ではうまくいきませんが、SSHを使用した長時間実行プロセスのtmux場合screenは、またはが常に推奨されます
Tobias Kienzler

0

あなたはそれがへのパイプにできるはずですmoreless

cat large_file.txt | less

その時点で、回答をページングして、 :q

grep特定のエラー/問題を探している場合は、を使用して回答を整理することもできます。

http://www.westwind.com/reference/os-x/commandline/pipes.html


1
CHKは、プロセスがすでに開始されている状況について尋ねました。この場合、以下を使用することはできません。
2013

直接的な質問への回答ではありませんが、これは、状況が発生する前に状況を回避する方法を示すという点で価値があります。
TecBrat 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.