.\" .\" Copyright (c) 2023 Roman Žilka .\" Copyright (c) 2009-2025 Craig Small .\" Copyright (c) 2018-2023 Jim Warner .\" Copyright (c) 2011-2012 Sami Kerola .\" Copyright (c) 2003 Albert Cahalan .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" .TH WATCH 1 2025-04-16 procps-ng .SH "نام (NAME)" watch \- اجرای دوره‌ای یک برنامه و نمایش خروجی تمام‌صفحه .SH "خلاصه دستور (SYNOPSIS)" .B watch .RI [ option " .\|.\|.\&]" .I command .SH "توضیحات (DESCRIPTION)" .B watch دستور .I command را به‌صورت مکرر اجرا کرده و خروجی و خطاهای آن را نمایش می‌دهد (اولین صفحه کامل). این امکان به شما اجازه می‌دهد تا تغییرات خروجی برنامه را در طول زمان مشاهده کنید. به‌طور پیش‌فرض، \fIcommand\fR هر ۲ ثانیه اجرا می‌شود و \fBwatch\fR تا زمان متوقف شدن به کار ادامه می‌دهد. یک سربرگ، زمان آغاز و مدت زمان اجرای \fIcommand\fR و همچنین کد خروج آن را نمایش می‌دهد. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-b\fR, \fB\-\-beep\fR در صورتی که خروج \fIcommand\fR با کدی غیر از صفر (ناموفق) باشد، بوق هشدار (beep) می‌زند. .TP \fB\-c\fR, \fB\-\-color\fR تفسیر کدهای رنگ و سبک‌دهی ANSI. .TP \fB\-C\fR, \fB\-\-no-color\fR کدهای رنگ و سبک‌دهی ANSI را تفسیر نمی‌کند. .TP \fB\-d\fR, \fB\-\-differences\fR[=\fIpermanent\fR] برجسته‌سازی تفاوت‌های میان به‌روزرسانی‌های متوالی. اگر آرگومان اختیاری \fIpermanent\fR مشخص شده باشد، آن‌گاه \fBwatch\fR تمام تغییرات ایجادشده از نخستین تکرار را نمایش می‌دهد. آرگومان \fIpermanent\fR باید بدون فاصله به گزینه متصل شود، مانند \fB\-d1\fR یا \fB\-\-differences=1\fR. .TP \fB\-e\fR, \fB\-\-errexit\fR متوقف کردن (انجماد) به‌روزرسانی‌ها هنگام بروز خطا در \fIcommand\fR و خروج پس از فشردن یک کلید. کد خروج \fBwatch\fR همان کدی خواهد بود که \fIcommand\fR با آن پایان یافته است. اگر سیگنال \fBn\fR علت پایان یافتن \fIcommand\fR باشد، کد خروج 128 + \fBn\fR خواهد بود. .TP \fB\-f\fR, \fB\-\-follow\fR به جای پاک کردن صفحه در هر به‌روزرسانی، \fBwatch\fR خروجی را مشابه نحوه کارکرد \fItail -f\fR به پایین پیمایش (scroll) می‌کند. این گزینه با گزینه‌هایی که خروجی صفحه را ردیابی می‌کنند، مانند \fB\-\-differences\fR، \fB\-\-chgexit\fR و \fB\-\-eqexit\fR سازگار نیست. .TP \fB\-g\fR, \fB\-\-chgexit\fR هنگامی که خروجی قابل مشاهده \fIcommand\fR تغییر کند، خارج می‌شود. تغییراتی که به دلیل کوچک بودن صفحه یا حجم بالای خروجی خارج از دید هستند، باعث خروج \fBwatch\fR نخواهند شد. .TP \fB\-n\fR, \fB\-\-interval\fR \fIseconds\fR مشخص کردن فاصله زمانی به‌روزرسانی. مقادیر کوچک‌تر از 0.1 و بزرگ‌تر از 2678400 (۳۱ روز) به این کران‌ها تبدیل می‌شوند. هر دو نویسه '.' و ',' برای هر محلی‌سازی (locale) کار می‌کنند. متغیر محیطی \fBWATCH_INTERVAL\fR می‌تواند برای تعیین پایدار یک فاصله زمانی غیرپیش‌فرض (با رعایت همان قوانین و قالب‌بندی) به کار رود. .TP \fB\-p\fR, \fB\-\-precise\fR اجرای \fIcommand\fR با فاصله \fB\-\-interval\fR ثانیه پس از شروع اجرای پیشین آن، به جای \fB\-\-interval\fR ثانیه پس از پایان اجرای قبلی. در صورتی که کامل شدن اجرای \fIcommand\fR بیش از \fB\-\-interval\fR ثانیه طول بکشد، در هر دو حالت تا پایان آن انتظار کشیده می‌شود. .TP \fB\-q\fR, \fB\-\-equexit\fR هنگامی که خروجی \fIcommand\fR به تعداد دوره‌های مشخص‌شده بدون تغییر بماند، خارج می‌شود. .TP \fB\-r\fR, \fB\-\-no-rerun\fR هنگام تغییر اندازه پایانه، برنامه دوباره اجرا نمی‌شود؛ خروجی برنامه در زمان اجرای عادی بعدی مجدداً نمایان خواهد شد. .TP \fB-s\fR, \fB--shotsdir\fR دایرکتوری مقصد جهت ذخیره نماگرفت‌ها (screenshots). .TP \fB\-t\fR, \fB\-\-no\-title\fR خاموش کردن سربرگی که به‌طور معمول در بالای صفحه نمایش داده می‌شود. .TP \fB\-w\fR, \fB\-\-no\-wrap\fR غیرفعال کردن شکست خودکار خطوط (line wrapping). خطوط طولانی به جای رفتن به خط بعد کوتاه (بریده) می‌شوند. .TP \fB\-x\fR, \fB\-\-exec\fR ارسال \fIcommand\fR به یک فراخوانی .BR exec (3) به جای \fBsh \-c\fR. برنامه اندکی سریع‌تر آغاز خواهد شد. قابلیت‌های پوسته (آماده‌سازی محیط، گسترش متغیرها و مسیرها و غیره) در دسترس نخواهند بود. .TP \fB\-h\fR, \fB\-\-help\fR نمایش متن راهنما و خروج. .TP \fB\-v\fR, \fB\-\-version\fR نمایش اطلاعات نسخه و خروج. .SH "کنترل کلیدها (KEY CONTROL)" .TP .B spacebar اجرای بی‌درنگ \fIcommand\fR. اگر در آن لحظه در حال اجرا باشد، متوقف نشده و دور بعدی آن بدون تاخیر آغاز خواهد شد. .TP .B q خروج از \fBwatch\fR. در حال حاضر دستور در حال اجرا را متوقف نمی‌کند (برخلاف سیگنال‌های خاتمه‌دهنده مانند SIGKILL پس از فشردن Ctrl+C). .TP .B s گرفتن نماگرفت. در پوشه کاری ذخیره خواهد شد، مگر آنکه توسط \fB\-\-shotsdir\fR به گونه دیگری مشخص شده باشد. اگر \fIcommand\fR در حال اجرا باشد، نماگرفت به محض پایان آن گرفته خواهد شد. .SH "وضعیت خروج (EXIT STATUS)" .TP .B 0 موفقیت. بیانگر کد خروج \fIcommand\fR نیست. .TP .B 1 خطاهای نامرتبط با عملکرد \fIcommand\fR. .TP .B 2 خطاهای مرتبط با اجرا و مدیریت \fIcommand\fR (نه کد خروج آن). .TP .B هر مقدار غیرصفر (\-\-errexit) با گزینه \fB\-\-errexit\fR آخرین کد خروج \fIcommand\fR بازگردانده می‌شود. .SH "محیط (ENVIRONMENT)" رفتار \fBwatch\fR تحت تأثیر متغیرهای محیطی زیر قرار می‌گیرد: .TP .B WATCH_INTERVAL فاصله زمانی به‌روزرسانی؛ از همان قوانین گزینه خط فرمان \fB\-\-interval\fR پیروی می‌کند. .TP .B COLUMNS عرض صفحه پایانه بر حسب نویسه. برای بازنویسی (override) تشخیص خودکار تنظیم می‌شود. .TP .B LINES ارتفاع صفحه پایانه بر حسب نویسه. برای بازنویسی (override) تشخیص خودکار تنظیم می‌شود. .SH "نکات (NOTES)" پردازش گزینه‌ها مطابق استاندارد POSIX انجام می‌شود (یعنی پردازش گزینه‌ها در نخستین آرگومان غیرگزینه‌ای متوقف می‌گردد). این بدان معناست که پرچم‌های پس از \fIcommand\fR توسط خود \fBwatch\fR تفسیر نمی‌شوند. .P نویسه‌های غیرقابل‌چاپ از خروجی برنامه حذف می‌شوند. در صورت تمایل به مشاهده آن‌ها، از \fBcat -v\fR به عنوان بخشی از خط لوله (pipeline) دستور استفاده کنید. .SH "مثال‌ها (EXAMPLES)" .PP برای مشاهده تغییرات محتوای یک پوشه، می‌توانید از دستور زیر استفاده کنید: .IP watch \-d ls \-l .PP اگر پردازنده‌هایی با بسامد پویا دارید و می‌خواهید تغییرات آن را مشاهده کنید، دستور زیر را امتحان کنید. دستور به پوسته فرستاده می‌شود که امکان ایجاد خط لوله را به شما می‌دهد. نقل‌قول‌ها نیز از قابلیت‌های پوسته هستند. .IP watch \-n1 'grep "^cpu MHz" /proc/cpuinfo | sort -nrk4' .PP جهت نظارت بر وضعیت در دسترس بودن سرورها و ذخیره یک رونوشت از خروجی هر اجرا در یک فایل، می‌توانید از این دستور استفاده کنید. گزینه \fB\-p\fR باعث می‌شود دستور صرف‌نظر از مدت زمان اجرای قبلی، هر ۱۰ ثانیه یک‌بار اجرا شود. .IP watch \-n10 \-p \-d '{ date; for i in 10.0.0.31 10.0.0.32 10.0.0.33; do R=OK; ping \-c2 \-W2 "$i" &>/dev/null || R=FAIL; echo "$i: $R"; done } | tee \-a ~/log' .PP می‌توانید جهت بررسی نصب آخرین هسته توسط مدیر سیستم از دستور زیر استفاده کنید: .IP watch uname \-r .SH "اشکالات (BUGS)" هنگامی که ابعاد پایانه تغییر می‌کند، تغییرات محتوای آن در اجرای بعدی \fIcommand\fR ثبت نمی‌شود. در آن نوبت \fB\-\-chgexit\fR فعال نخواهد شد و شمارنده \fB\-\-equexit\fR حتی در صورت تغییر خروجی \fIcommand\fR در این فاصله، از نو آغاز نخواهد شد. همچنین برجسته‌سازی \fB\-\-differences\fR بازنشانی می‌گردد. .SH "گزارش اشکالات (REPORTING BUGS)" لطفاً گزارش‌های اشکال را به .MT procps@freelists.org .ME ارسال کنید.