テーリングプロセスを停止するためにファイルにEOFを作成しようとしています。

テーリングプロセスを停止するためにファイルにEOFを作成しようとしています。

ファイルを追跡するいくつかのプロセスがあります。ファイルにEOFを作成してトレースプロセスを停止するにはどうすればよいですか?

例えば、

tail -F $HOME/somefile.log

どこかの端末で実行されていますが、どこにいるのかはわかりません。ファイルを追跡するすべてのプロセスがファイルの追跡を停止するようにログファイルにEOFを作成するにはどうすればよいですか?

場合によっては、fifoを追跡します。

mkfifo fivel
tail -f fivel

名前付きパイプにEOFを書き込むと、実際にfifoの後に続くすべてのプロセスが停止/終了する可能性がありますが、通常のファイルにEOFを書き込むと後続のプロセスが停止しない可能性があると思います。

ベストアンサー1

tail コマンドは、通常のファイルで -f と一緒に実行しても EOF で終了しません。明示的により多くのデータを待ちます。したがって、ファイルの末尾にすでにEOFがあります。終了してはいけませんので、tailは終了しません。

唯一の方法は、尾を殺すことです。走る

ps ax|grep tail

その後、インストールテールプロセスに表示されているプロセスIDを終了します。または使用

pkill tail

すべてのテールプロセスを終了します。終了したくないプロセスを終了する可能性があるため、このオプションを使用するときは注意してください。

おすすめ記事