شاید لازم داشته باشید در لینوکس یک دستور یا اسکریپتی که خودتان نوشتید را هر چند ثانیه یکبار اجرا کنید. مثلن بررسی کنید هر 10 ثانیه چه کسانی به سیستم وارد شده اند.بطور معمول باید دستور w را هر 10 ثانیه یک بار بصورت دستی اجرا کنید که بسیار زمان گیر است. در لینوکس دستور watch وجود دارد که یک دستور را بعنوان ورودی گرفته و آنرا هر n ثانیه یکبار اجرا می کند که کافیست بجای n زمان دلخواه تان را جایگزین کنید.watch خروجی را هر n ثانیه یکبار در خط فرمان بروز می کند(البته در صورت وجود تغییر).فرمت کلی آن بصورت زیر است :
اما شکل معمول استفاده از آن بصضورت زیر است :
سوئیچ n برای تعیین زمان برای تکرار دستور است و مقدار زمان بر حسب ثانیه بجای SEC جایگزین می شود. سوئیچ d برای اینکه هر بار تغییرات را مشخص یا highlight کنیم استفاده می شود. بصور مثال دستور زیر را در خط فرمان برای بررسی هر 3 ثانیه یک بار افراد وارد شده بع سیستم اجرا کنید. خواهید دید که بدون ورود کسی هر سه ثانیه یک بار فیلد زمان بصورت highlight شده تغییر خواهد کرد.
بطور مثال خروجی دستور شبیه به زیر است :
خط Bold شده نشان می دهد هر 3 ثانیه یک بار دستور w اجرا می شود.فیلد های خروجی دستور w را می توانید از اینجا بخوانید.
برای تست اجرای برنامه یک Tab جدید در پنجره خط فرمان باز کنید و دستور su – root را اجرا کنید خواهید دید که یک خط جدید به خروجی 3 ثانیه بعد افزوده خواهد شد.حتی اگر به ssh از سیستم دیگری هم وارد بشوید آنرا نمایش خواد داد خط مانند خروجی زیر اضافه خواهد شد :
با فشردن کلید های Ctrl+c اجرای برنامه خاتمه می یابد.
نویسنده نامی امیر
کد PHP:
<watch [-dhv] [-n <seconds>] [–differences[=cumulative]] [--help] [--interval=<seconds>] [--version] <command
کد PHP:
watch -n <sec> -d CMD
کد PHP:
watch -d n 3 w
کد PHP:
Every 3.0s: w Sun Jul 29 08:13:44 2012
08:13:44 up 6:03, 4 users, load average: 0.00, 0.21, 0.21
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 – Wed11 11:29 0.37s 0.20s bash
root :0 – 08:03 ?xdm? 3:56 0.31s /usr/bin/gnome-
root pts/0 :0.0 08:03 9:19 0.38s 0.32s watch -d -n 3 w
root pts/2 :0.0 08:06 3:40 0.05s 0.02s -bash
برای تست اجرای برنامه یک Tab جدید در پنجره خط فرمان باز کنید و دستور su – root را اجرا کنید خواهید دید که یک خط جدید به خروجی 3 ثانیه بعد افزوده خواهد شد.حتی اگر به ssh از سیستم دیگری هم وارد بشوید آنرا نمایش خواد داد خط مانند خروجی زیر اضافه خواهد شد :
کد PHP:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 10.10.10.200 08:24 20.00s 0.02s 0.02s -bash
نویسنده نامی امیر