.TH opensnoop.bt 8 "2018-09-08" "USER COMMANDS" .SH "نام (NAME)" opensnoop.bt \- ردیابی فراخوانی‌های سیستمی open()، openat() و openat2() با استفاده از bpftrace/eBPF .SH "خلاصه دستور (SYNOPSIS)" .B opensnoop.bt -- [--depth=] [--errname] .SH "توضیحات (DESCRIPTION)" ابزار opensnoop فراخوانی‌های سیستمی open()، openat() و openat2() را ردیابی می‌کند و نشان می‌دهد کدام فرآیندها در تلاش برای باز کردن کدام پرونده‌ها هستند. این ابزار می‌تواند برای تعیین موقعیت پرونده‌های پیکربندی و لاگ، یا عیب‌یابی برنامه‌هایی که با شکست مواجه می‌شوند، به‌ویژه در هنگام راه‌اندازی، مفید باشد. .PP این ابزار از طریق ردیابی نقطه ردیابی (tracepoint) فراخوانی‌های سیستمی open()، openat() و openat2() کار می‌کند. .PP از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده کند. .SH "گزینه‌ها (OPTIONS)" .TP --depth= برای تنظیم حداکثر عمق مسیر پشتیبانی‌شده استفاده می‌شود، مقدار پیش‌فرض ۳۵ است. .TP --errname نمایش پیام خطا به‌جای errno. .SH "پیش‌نیازها (REQUIREMENTS)" CONFIG_BPF و bcc. .SH "مثال‌ها (EXAMPLES)" .TP ردیابی تمام فراخوانی‌های سیستمی open()، openat() و openat2(): # .B opensnoop.bt .SH "فیلدها (FIELDS)" .TP PID شناسه فرآیند (Process ID) .TP COMM نام فرآیند .TP FD توصیف‌کننده پرونده (در صورت موفقیت)، یا \-1 (در صورت شکست) .TP ERR شماره خطا (به errno.h سیستم مراجعه کنید) .TP PATH مسیر بازگشایی (Open path) .SH "بار پردازشی (OVERHEAD)" این ابزار نقطه ردیابی open را ردیابی کرده و برای هر رویداد خروجی را چاپ می‌کند. از آنجا که نرخ این رویدادها معمولاً کم انتظار می‌رود (کمتر از ۱۰۰۰ در ثانیه)، بار پردازشی نیز ناچیز برآورد می‌شود. اگر برنامه‌ای دارید که با نرخ بالایی ()open را فراخوانی می‌کند، پیش از استفاده بار پردازشی را آزمایش کرده و بررسی نمایید. .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 "نویسندگان (AUTHORS)" Brendan Gregg, Rong Tao .SH "همچنین ببینید (SEE ALSO)" statsnoop.bt(8), execsnoop.bt(8)