3
Pipelineの前半でコマンドのPIDを取得する
inotifywaitディレクトリを監視し、変更が検出されたときにアクションを開始するために使用するbashスクリプトを書いています。何かのようなもの: inotifywait -m ... | while read f; do something; done inotifywaitはそれ自体で終了しないため、このスクリプトは停止しません。 したがって、私の計画は、inotifywaitプロセスのPIDを取得し、それをファイルに保存して、後で別のプロセスに強制終了させることでした。 inotifywait -m ... | { echo ??PID?? > pid-file; while ... } しかし、私はPIDを取得する方法がわかりません。これを達成する簡単な方法はありますか?もう1つの方法は、シェルスクリプトのPIDを$$ファイルに保存してシェルスクリプト全体を強制終了することですが、whileループの後にいくつかのクリーンアップを実行したいと思いました。 私は使ってみましcoprocたが、うまくいくと思いますが、必要以上に複雑に思えます。