Wie stoppt man „tail -f“ innerhalb eines laufenden Skripts?

Wie stoppt man „tail -f“ innerhalb eines laufenden Skripts?

Wie können Sie einen tail -fBefehl stoppen, wenn Sie eine bestimmte Zeichenfolge/ein bestimmtes Wort sehen?

Ich versuche, einem sich erweiternden Protokoll zu folgen und es zu stoppen, tailnachdem ich ein bestimmtes Wort gefunden habe. Gibt es killdafür einen Befehl? Ich fange gerade erst mit UNIX an.

Antwort1

pgrep -f 'tail -f your_filename'|xargs kill

Antwort2

Sie können die Grep-Zeilenpufferung aktivieren, wenn Sie die Datei mit fortlaufendem Schreiben tailieren möchten:

tail -f your_file | grep --line-buffered your_pattern

Andernfalls können Sie, wenn die Datei statisch ist, mit Greep in Ihrer Datei nach dem gesuchten Muster suchen.

verwandte Informationen