
macOS에서 pstree와 유사한 출력을 제공하며 추가로 PID 캡처 기능을 갖춘 명령줄 도구

소개
TrueTree 개념에 대한 자세한 내용은 여기에서 읽어보세요.
TrueTree는 macOS용 pstree 명령 이상의 기능을 제공합니다. 운영 체제에서 수집할 수 있는 추가적인 pid를 기반으로 구축된 계층 구조를 사용하여 현재 실행 중인 프로세스의 프로세스 트리를 표시하는 데 사용됩니다. 기존의 pid와 ppid로 구축할 수 있는 macOS의 표준 프로세스 트리는 모든 XPC 통신으로 인해 macOS에서 그다지 유용하지 않습니다. 대다수의 프로세스는 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
트리를 수집하지 않습니다. 대신 생성 시간순으로 정렬된 프로세스만 출력합니다
