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...