手動で起動されたシェルで開始されたすべてのバックグラウンドタスクを記録しますか?

手動で起動されたシェルで開始されたすべてのバックグラウンドタスクを記録しますか?

たとえば、時々誤ってシェルのすべてのバックグラウンドタスクを終了することがあります。Wine で実行される Window プログラムのウィンドウはデフォルトでは前にありません。

シェルまたはターミナルエミュレータプロセスをシャットダウンするときにそれらを使用またはシャットダウンしないように保護できるnohupことを知っています。disownただし、OSが停止した場合はOSを再起動する必要があり、バックグラウンドプロセスは保存されnohupません。disown

シェルプロセスまたはすべてのシェルプロセス(特に手動で開始されたプロセス)で実行されるバックグラウンドジョブのコマンドを定期的または手動で記録する方法はありますか?

私の考えは、すべてのシェルプロセスで定期的に実行されるスクリプトを作成し、シェルプロセスごとにstdout出力を共有jobsテキストファイルに追加することです。しかし、すべてのシェルプロセスを経て冗長コマンドを減らす方法がわかりません。コマンドを再実行するためにログファイルをシェルスクリプトとして直接実行できるようにコマンドを記録したいと思います。

ありがとうございます。

関連情報