WHOWATCH(1) General Commands Manual WHOWATCH(1)

whowatch - ابزار تعاملی و کنسولی پایش فرایندها و کاربران

Whowatch یک ابزار تعاملی در محیط کنسول برای پایش فرایندها و کاربران است. این برنامه اطلاعات مربوط به کاربرانی را که هم‌اکنون به سیستم وارد شده‌اند، به‌صورت بی‌درنگ نمایش می‌دهد. علاوه بر اطلاعات استاندارد (نام ورود، tty، میزبان، فرایند کاربر)، نوع اتصال (مانند telnet یا ssh) نیز نمایش داده می‌شود. نمایش خط فرمان کاربران می‌تواند به زمان بی‌کاری (idle time) ترمینال tty تغییر یابد. می‌توان کاربر خاصی را انتخاب کرد و درخت فرایندهای او و همچنین درخت تمام فرایندهای سیستم را مشاهده نمود. درخت را می‌توان با یک ستون اضافی که مالک هر فرایند را نشان می‌دهد نمایش داد. در حالت درخت فرایندها، سیگنال‌های SIGINT، SIGHUP، SIGTERM و SIGKILL را می‌توان به فرایند انتخاب‌شده ارسال کرد. کشتن فرایندها به همان سادگی و لذت‌بخشیِ حذف خطوط روی صفحه نمایش است.

Whowatch هیچ گزینه خط فرمانی یا فایل پیکربندی‌ای ندارد. تمام اقدامات به‌صورت بی‌درنگ با فشردن کلیدهای زیر انجام می‌شوند:

حالت فهرست کاربران:

'up' 'down'
حرکت مکان‌نما
'i'
جابه‌جایی بین خط فرمان کاربر و زمان بی‌کاری
'c'
روشن/خاموش کردن خط فرمان کامل. غیرفعال کردن خط فرمان کامل می‌تواند در زمان پردازنده (CPU) صرفه‌جویی کند. همچنین می‌تواند اطلاعات بیشتری درباره فایل اجرایی فرایند در اختیارتان بگذارد.
'enter'
مشاهده درخت فرایندهای کاربر انتخاب‌شده.
't'
تمام فرایندهای سیستم (درخت init)

حالت درختی:

'up' 'down'
حرکت مکان‌نما
'enter'
بازگشت به فهرست کاربران
'o'
نمایش مالکان فرایندها
'c'
روشن/خاموش کردن خط فرمان کامل. غیرفعال کردن خط فرمان کامل می‌تواند در زمان پردازنده (CPU) صرفه‌جویی کند. همچنین می‌تواند اطلاعات بیشتری درباره فایل اجرایی فرایند در اختیارتان بگذارد.
'Ctrl-I'
ارسال سیگنال INT به فرایند انتخاب‌شده
'Ctrl-K'
ارسال سیگنال KILL به فرایند انتخاب‌شده
'Ctrl-U'
ارسال سیگنال HUP به فرایند انتخاب‌شده
'Ctrl-T'
ارسال سیگنال TERM به فرایند انتخاب‌شده

برنامه Whowatch قابلیت بارگذاری افزونه در حین اجرای برنامه را دارد. افزونه اطلاعات را درون پنجره جزئیات چاپ می‌کند. افزونه‌ها انعطاف‌پذیری ایجاد می‌کنند: اگر اطلاعات خاصی درباره یک فرایند، کاربر یا سیستم مورد نیاز باشد، می‌توان برنامه‌ای جداگانه برای دریافت چنین اطلاعاتی نوشت. از آنجا که سه نوع پنجره جزئیات وجود دارد (فرایند، کاربر و سیستم)، حداکثر سه افزونه را می‌توان بارگذاری کرد. برنامه Whowatch یک رابط برنامه‌نویسی (API) بسیار ساده برای نوشتن افزونه‌ها دارد.

این برنامه /var/log/wtmp و /var/run/utmp را می‌خواند. تحت لینوکس، این برنامه فایل‌های دایرکتوری /proc را نیز می‌خواند. بدون دسترسی خواندن به این فایل‌ها، عملکرد whowatch محدود خواهد شد یا حتی برنامه شروع به کار نخواهد کرد.

finger(1) ps(1), pstree(1), top(1), w(1), lsof(8), kill(1) killall(1)

به‌دلیل نبود ut_pid در ساختارهای utmp و wtmp در سیستم‌های *BSD، برنامه تلاش می‌کند با تحلیل ترمینال کنترل‌کننده فرایندها و نام آن‌ها، pid مربوط به شل ورود (login shell) را به دست آورد. در برخی شرایط ممکن است این امر به نتایج نادرستی بینجامد، یعنی درخت فرایندهای نادرستی به نشست کاربر منتسب شود.

Michal Suszycki <mike@wizard.ae.krakow.pl>,
http://wizard.ae.krakow.pl/~mike
توابع درخت نوشته‌شده توسط Jan Bobrowski <jb@wizard.ae.krakow.pl>،
http://wizard.ae.krakow.pl/~jb
27 Feb 2000