
pstreeのような出力をmacOSで行い、追加のPIDキャプチャ機能を備えたコマンドラインツール。

概要
TrueTreeのコンセプトについて詳しくはこちら
TrueTreeは、macOS用の単なるpstreeコマンドではありません。現在実行中のプロセスのプロセスツリーを、オペレーティングシステムから収集可能な追加のPIDに基づく階層を使用して表示します。macOSでは、すべてのXPC通信が行われているため、従来のPIDとPPIDで構築できる標準のプロセスツリーはあまり役に立ちません。大多数のプロセスは、最終的にlaunchdを親プロセスとして持つことになります。しかしTrueTreeは、インシデントレスポンダー、脅威ハンター、研究者など、すべての関係者にとって有用なプロセスツリーを表示します!
メジャーアップデート: macOSの絶え間ない機能変更のため、macOS 11以降、TrueTreeの元のブログ記事を書いた当時とは一部の機能が同じように動作しなくなりました。Appleは新しいプロセス"runningboardd"を導入し、これが多くのプロセスの真の親になることがあります。これを回避するため、TrueTreeはApplication Servicesフレームワークを使用するように更新され、いくつかのシナリオで真の親を取得できるようになりました。しかし、これにより親プロセスが終了した場合、真の親プロセスを取得できなくなりました。そのため、"open"コマンドなどの真の親を特定することが困難になります。これは、TrueTreeがmacOSのリリースを超えて動作し続けるための小さな代償です。真の親の他の兆候は、launchctl procinfoの出力内に見られることがよくあります。これは将来検討されるかもしれません。
./TrueTree -h
--nocolor -> 出力内の項目を色分けしない
--timeline -> すべてのプロセスを作成タイムスタンプでソートして表示
--timestamps -> プロセスのタイムスタンプを含める
--standard -> TrueTreeの代わりに標準のUnixツリーを表示
--sources -> 各プロセスの親がどこから来たかのソースを表示
--nonetwork -> ネットワーク接続を表示しない
--nopid -> 各プロセスの横にPIDを表示しない
--nopath -> フルパスの代わりにプロセス名のみを表示
--version -> TrueTreeのバージョン番号を表示
-o -> ファイルに出力
注意: ルート権限が必要
./TrueTree
TrueTreeのコンセプトを使用した拡張プロセスツリーを表示します

./TrueTree --standard
標準のPIDとPPIDに基づくツリー出力には--standardを使用します

./TrueTree --timestamps
どちらの形式でも、プロセス作成時刻を追加した出力には--timestampsオプションを使用します

./TrueTree --sources
各親PIDがどこから取得されたかを表示するには--sourcesオプションを使用します

./TrueTree --timeline
ツリーは収集しません。代わりに、作成時刻順にソートされたプロセスを表示するだけです
