特定のデータを無限に生成するコマンドをコマンドラインで実行していますが、特定のビットのデータを探していてgrep
探してみました。データを取得したら、コマンドは自動的に終了したいと思います。どうやってこれを達成できますか?
注1:kill $$
AND演算はgrep
コマンドを終了しません。
ノート2:私はこれを見た質問、私の場合は動作しないようです。
答え1
この試み
loud_program | grep --max-count=NUM
その後、私が知っている限り、切断された最後に書き込みを行うloud_program
受信が順番に終了することがあります。あなたのプログラムで試してみてください。これがすべてのプログラムで動作するかどうかはわかりません。SIGPIPE
loud_program
答え2
たとえば、結果をポケットベルにパイプすることができますless
。入力less
バッファは、コマンドがあまりにも多くのデータを生成するのを防ぎ(つまり、下に下がるまである時点でブロックされる)、ページャを終了すると、コマンドは次のようになります。パイプの破損により破損し、自動的にシャットダウンします。何らかの理由でデータが生成されず(パイプライン化された)コマンドがまだ実行されている場合は、Ctrl-Cと入力してコマンドを終了できます。