
أداة سطر أوامر لإخراج مشابه لـ pstree على macOS مع إمكانيات إضافية لالتقاط pid.

حول
اقرأ كل شيء عن مفهوم TrueTree هنا
TrueTree هو أكثر من مجرد أمر pstree لنظام macOS. يُستخدم لعرض شجرة العمليات للعمليات الجارية حاليًا باستخدام هيكل مبني على معرفات عمليات إضافية يمكن جمعها من نظام التشغيل. شجرة العمليات القياسية على macOS التي يمكن بناؤها باستخدام معرفات العمليات التقليدية ومعرفات العمليات الأبوية تكون أقل فائدة على macOS بسبب كل اتصالات XPC الجارية. الغالبية العظمى من العمليات ينتهي بها المطاف بأن يكون أبها هو launchd. ومع ذلك، فإن TrueTree يعرض شجرة عمليات تهدف إلى أن تكون مفيدة لمستجيبي الحوادث، وصائدي التهديدات، والباحثين، وكل ما بين ذلك!
تحديث كبير: بسبب الميزات المتغيرة باستمرار في macOS، منذ macOS 11، لا تعمل بعض الميزات بنفس الطريقة التي كانت عليها عندما كتبت المقال الأصلي لـ TrueTree. أضافت Apple عملية جديدة تسمى "runningboardd" والتي تصبح الأب الحقيقي للعديد من العمليات. للتغلب على ذلك، تم تحديث TrueTree لاستخدام إطار عمل Application Services الذي سمح بالحصول على الأب الحقيقي في بعض السيناريوهات. ومع ذلك، لم يعد هذا يسمح بالحصول على الأب الحقيقي إذا تم إنهاء تلك العملية الأبوية. مما يجعل من الصعب تحديد بعض الآباء الحقيقيين مثل أمر "open". ثمن بسيط لضمان استمرار عمل TrueTree عبر إصدارات macOS. يمكن العثور على بعض العلامات الأخرى للأب الحقيقي داخل مخرجات launchctl procinfo. قد يؤخذ هذا في الاعتبار في المستقبل.
./TrueTree -h
--nocolor -> لا تقم بتلوين العناصر في المخرجات
--timeline -> قم بفرز وطباعة جميع العمليات حسب طابعها الزمني للإنشاء
--timestamps -> تضمين الطوابع الزمنية للعمليات
--standard -> طباعة الشجرة القياسية لـ Unix بدلاً من TrueTree
--sources -> طباعة مصدر كل أب لعملية ما
--nonetwork -> عدم طباعة اتصال الشبكة
--nopid -> عدم طباعة معرف العملية بجانب كل عملية
--nopath -> طباعة اسم العملية فقط بدلاً من المسارات الكاملة
--version -> طباعة رقم إصدار TrueTree
-o -> إخراج إلى ملف
ملاحظة: يتطلب صلاحية الجذر
./TrueTree
يعرض شجرة عمليات محسّنة باستخدام مفهوم TrueTree

./TrueTree --standard
للحصول على مخرجات الشجرة بناءً على معرفات العمليات القياسية ومعرفات العمليات الأبوية، استخدم --standard

./TrueTree --timestamps
للحصول على مخرجات بأي من التنسيقين مع إضافة وقت إنشاء العملية، استخدم الخيار --timestamps

./TrueTree --sources
لإظهار مصدر كل معرف عملية أب تم الحصول عليه، استخدم الخيار --sources

./TrueTree --timeline
لا يجمع شجرة. بدلاً من ذلك، يقوم فقط بطباعة العمليات مرتبة حسب وقت الإنشاء
