tail -fでデフォルトスクリプトを返す方法

tail -fでデフォルトスクリプトを返す方法

kshログファイルの表示に使用するスクリプトがありますtail -f

tailプロセスを終了して基本スクリプトを実行し続けるにはどうすればよいですか?

私はこれをAIX 7.1で実行しています。
- - - - - - - - - - - - - - - - - - - - - - - - -編集 - - ----------------------- - -------
Gilesの答えに基づいて、スクリプトで次のことを試しました。

trap 'echo "tail process terminated!"' 2
tail -f mylog.log
trap - 2

これで、tailコマンドを実行した後にCtrl + Cを押すと、tailプロセスが終了し、スクリプトが実行され続けます。しかし、新しい問題は、Ctrl + Cをもう一度押すとスクリプトが終了しないことです。誰でも助けることができますか?

ベストアンサー1

tailスクリプトがコマンドをバックグラウンドに設定しないと、シェルはコマンドが終了するのを待ちますが、これは決して発生しません。

別の操作を実行する必要があり、tail後でコマンドを終了したい場合は、次のことができます。

tail -f logfile &
tailpid=$!
...do some other stuff...
kill $tailpid
...carry on...

おすすめ記事