バックグラウンドで開始している bash プロセスのトラップを設定する必要があります。バックグラウンド プロセスは非常に長く実行される可能性があり、その PID が特定のファイルに保存されます。
ここで、そのプロセスにトラップを設定する必要があるため、プロセスが終了すると PID ファイルが削除されます。
それを行う方法はありますか?
編集#1
問題の説明が十分に正確ではなかったようです。私はすべてのコードを完全に制御できますが、実行時間の長いバックグラウンド プロセスは次のとおりです。
cat /dev/random >> myfile&
このステートメントが入っているスクリプトの先頭にトラップを追加すると、$$
ここで開始しているこの小さなバックグラウンド プロセスの PID ではなく、より大きなスクリプトの PID になります。
では、そのバックグラウンド プロセスに具体的にトラップを設定するにはどうすればよいでしょうか。