strace command in linux

  • با استفاده از این ابزار می‌توان سیگنال‌هایی که به سمت یک ابزار (پروسه) ارسال می‌شود را مانیتور کرد.
  • استفاده از strace به دو صورت است.
    • اجرای ابزار در قالب strace
    • اتصال PID پروسه به strace
  • لازم به ذکر است در برخی از ابزارها مثل redis دیده شده که با اتصال strace به PID آن ، کارایی یا Performance آن ابزار (redis) پایین می‌آید.

  • به منظور اتصال یک PID به strace به صورت زیر عمل کنید.

  • از سویچ t- برای نمایش زمان می‌توان استفاده نمود.
  • نمونه‌ای از خروجی strace برای PID مربوط به دستور sleep 100 به شرح زیر است.

  • در مثال بالا ابزار sleep به سیگنالی مناسب و خوب به کارکرد خود پایان داده است لذا خروجی (قرمز رنگ) بالا حاصل شده است.
  • در صورتی که با دیگر سیگنال‌ها نظیر شماره‌ی ۹ یا ۱۱ ، کارکرد ابزار sleep به پایان رسد ، خروجی‌ای مشابه زیر حاصل خواهد شد.

  • به منظور مانیتور و دنبال کردن سیگنال‌های ارسالی به سمت پروسه در پروسه‌های Child ، باید از سویچ f- استفاده نمود.

  • نکته : در صورتی که strace به PID مربوط به یک Shell (مثلا ترمینال باز شده) متصل شود ، تمام کارکترهای تایپ شده توسط کاربر مانیتور می‌شود.