OS X Terminal.app には、「アクティブなプロセス名」を表示するオプションがあります。端末内のフォアグラウンド プロセス (の 1 つ) の名前を妥当な精度で表示します。たとえば、 を実行するmake
と、ビルド プロセスに含まれるさまざまなサブプロセスの名前が表示されます ( cc
、collect
、ld
など)。これはどのように機能しますか?
これまでの私の有力な仮説は、アタッチされたセッションのフォアグラウンド プロセス グループを追跡し、そのプロセス グループ内で最近開始されたプロセスを選択するというものです。ただし、これを実装するために使用するシステム コールやサービスについては明確ではありません。