ターミナルコンテキストに従ってスクリプトを実行する

ターミナルコンテキストに従ってスクリプトを実行する

現在のコンテキスト、またはユーザーにとって最も前面にあるプロセスを取得して、変更があったときにスクリプトをトリガーすることは可能ですか?

例えば、ユーザーは

  • コマンドプロンプトから始まり、
  • その後Emacsに入ります
  • コマンドラインに戻る
  • トップに入る
  • 辞める

これらの遷移ごとに、ターミナルで新しいプロセスの名前を取得し、プロセスに応じてアクションを実行するスクリプトを自動的に実行することはできますか?

答え1

rcalorasを使うことができますbash プリエグゼックユーザーが bash から何かを実行するたびに、事前実行コマンドを実行するスクリプト。ユーザーが他のシェル/アプリケーションに入ると、事前実行スクリプトが最初に実行され、独自のハンドラを実行できます。ユーザーがそのプログラムを終了したことを通知するための 1 つの解決策は、スクリプトがバックグラウンドでポーリングを継続して、pid がまだ存在するかどうかを確認することです。

関連するスーパーユーザーの回答

関連情報