特定のプロセスを開始したターミナルセッションを識別する

特定のプロセスを開始したターミナルセッションを識別する

私はUbuntuでGnomeを使用しています。8~20のターミナルセッションを開いていることが多く、そのうちのいくつかでは別のユーザーにsuしています。このクエリを書く原因となった特定の問題は、git ステータスしかし、これはより一般的な問題です。 git ステータス制御されていないファイル .foo.java.swp があることがわかります。これは、ターミナル セッションの 1 つで foo.java に対して vi が開いていることを意味します。

どのターミナル セッションで vi が実行されているかを知らせるスクリプトまたはツールが必要です。「ps aux | grep vi」を実行すると、特定の vi の pid を簡単に見つけることができます。ツールが何らかの方法でタスク バー上のターミナルを強調表示してくれると便利です。

ありがとう。

-サム

答え1

各ターミナルウィンドウには、コマンドでアクセスできる異なる擬似ターミナルが割り当てられます。これを出力の列ttyと相互参照できます。GUI統合の場合、通常は、現在のpty識別子をターミナルのウィンドウタイトルに追加するだけで十分です。TTYps uxタイトル、 のように

if [ "$PS1" ] ; then
  xtitle xterm $(tty)
fi

私のウィンドウ マネージャーではタイトルでウィンドウにジャンプするのは簡単ですが、GNOME についてはわかりません。

関連情報