.TH execsnoop.bt 8 "2018-09-11" "USER COMMANDS" .SH "نام (NAME)" execsnoop.bt \- ردیابی فرآیندهای جدید از طریق فراخوانی‌های سیستمی ()exec. از bpftrace/eBPF استفاده می‌کند. .SH "خلاصه دستور (SYNOPSIS)" .B execsnoop.bt .SH "توضیحات (DESCRIPTION)" این ابزار زمان فراخوانی ()exec (همان ()execve) توسط فرآیندها را ردیابی می‌کند. این ابزار برای شناسایی فرآیندهای جدیدی که از طریق توالی معمول ()fork()->exec ایجاد می‌شوند، سودمند است. توجه داشته باشید که مقدار بازگشتی در حال حاضر ردیابی نمی‌شود، بنابراین ممکن است ()exec ناموفق بوده باشد. .PP این ابزار برای اشکال‌زدایی اسکریپت‌های شل، از جمله راه‌اندازی برنامه‌ها مفید است. همچنین برای شناسایی نوعی مشکل عملکردی سودمند است: هجوم فرآیندهای کوتاه‌عمر که به سرعت پایان می‌یابند و به آسانی در top(1) قابل مشاهده نیستند. .PP از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده کند. .SH "پیش‌نیازها (REQUIREMENTS)" CONFIG_BPF و bpftrace. .SH "مثال‌ها (EXAMPLES)" .TP ردیابی تمام فرآیندهای جدیدی که ()execve را فراخوانی می‌کنند: # .B execsnoop.bt .SH "فیلدها (FIELDS)" .TP TIME زمان فراخوانی ()exec، بر حسب میلی‌ثانیه از زمان شروع برنامه. .TP PID شناسه فرآیند (Process ID) .TP PPID شناسه فرآیند والد (Parent Process ID) .TP ARGS نام فرآیند و آرگومان‌ها (حداکثر ۱۶ کلمه). .SH "سربار (OVERHEAD)" این ابزار نقطه ردیابی ()execve را ردیابی کرده و برای هر رویداد خروجی را چاپ می‌کند. از آنجا که نرخ این رویدادها معمولاً کم انتظار می‌رود (< 100/s)، سربار نیز ناچیز برآورد می‌شود. اگر برنامه‌ای دارید که به دلیلی با نرخ بالایی فرآیندهای جدید ایجاد می‌کند (یک فرآیند ساخت بزرگ)، این امر می‌تواند مقدار کمی سربار ایجاد کند: پیش از استفاده، سربار را آزمایش کرده و بسنجید. .SH "منبع (SOURCE)" این ابزار برگرفته از bpftrace است. .IP https://github.com/bpftrace/bpftrace .PP همچنین در توزیع bpftrace به فایل همراه _examples.txt که شامل نمونه‌های استفاده، خروجی و توضیحات این ابزار است مراجعه کنید. .PP این یک نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc فیلدها و گزینه‌های بیشتری برای سفارشی‌سازی خروجی فراهم می‌کند. .IP https://github.com/iovisor/bcc .SH "سیستم‌عامل (OS)" Linux .SH "پایداری (STABILITY)" ناپایدار \- در حال توسعه. .SH "نویسنده (AUTHOR)" Brendan Gregg .SH "همچنین ببینید (SEE ALSO)" opensnoop.bt(8)