زمانبندی پروسهها در لینوکس - بخش اول، فرمانهای at و sleep
شاید خیلی خوب میشد اگر ما هر زمان که نیاز داشتیم، میتونستیم به سیستم خودمون دسترسی پیدا کنیم و فرمانهای لازم رو بهش بدیم؛ اما متاسفانه هیچکس چنین تواناییای رو نداره. مدتهای زیادی آدم به دور از سیستم خودش است و بد نیست به جای بیکار گذاشتن سیستم در این مدت، لیست کارهایی رو که در زمانهای مختلف باید انجام بده رو بهش بدیم و اون خودش کارها رو انجام بده. اینجوری هم ما به کار و زندگیمون میرسیم و هم سیستممون!!!
من قصد دارم در طی دو پست سه روش مرسوم برای زمانبندی پروسههای مختلف رو توضیح بدم. در پست اول به فرمانهای sleep
و at
میپردازم و در پست دوم شما رو با قدرت cron
آشنا میکنم.
۱. فرمان sleep
این فرمان کار زیادی انجام نمیده و و اگر نگاهی به راهنمای اون بندازین میبینین که راهنمای بسیار کوتاهیه. در واقع کاری که sleep انجام میده اینه که هر چقدر که ما ازش بخوایم صبر میکنه.
تصور کنید مشغول فیلم دیدن هستید و باید بعد از نیم ساعت سری به غذای روی گاز هم بزنید. فرمان زیر رو وارد میکنید و بعد از نیم ساعت سیستم به شما یادآوری میکنه که به گاز سر بزنید
$ (sleep 1800; notify-send "You should check the oven...\!") &
۲. فرمان at
برای اینکه به سیستم بگیم در یک زمان خاص چند فرمان خاص رو اجرا کن، از فرمان at استفاده میکنیم. روش استفاده از این دستور بسیار ساده است.
به چند روش مختلف میشه زمان مورد نظرتون رو به این فرمان بدید. به عنوان مثال اگر قصد دارید ساعت ۳ بعد از ظهر به یکی از دوستانتون زنگ بزنید:
$ at 15:00
at> notify-send "Remember to call your friend...\!"
at> <eot>
زمانی که لیست فرمانهایی که قصد انجامشان را دارید تمام شد، با فشردن کلیدهای ctrl + D و یا نوشتن عبارت
اگر قرار باشه فردا ساعت ۳ بعد از ظهر به دوستتون زنگ بزنید از فرمان زیر استفاده میکنید:
$ at 15:00 tomorrow
و به همین شکل اگر قرار باشه کاری رو در نیمهشب ۱۷ جولای انجام بدین:
$ at midnight July 17
و همینطور اگر میخواهید سال دیگه تولد دوستتون بهتون یادآوری بشه:
$ at 09:00 July 04 2011
فکر میکنم به خوبی متوجه شده باشید که چجوری میشه از فرمان at
استفاده کرد. برای دیدن لیست کارهای زمانبندی شده میتونید از فرمان زیر استفاده کنید:
$ atq
البته به جای فرمان بالا از at -l
هم میتوان استفاده کرد!
همچنین اگر قصد دارید یکی از فعالیتها(به عنوان مثال فعالیت شماره ۳) رو پاک کنید، باید از فرمان زیر استفاده کنید:
$ atrm 3
که به جای دستور بالا میتوان از at -r3
استفاده کرد.
منتظر پست بعد و روشهای حرفهایتر زمانبندی پروسهها باشید.
ویرایش: قسمت بعدی: زمانبندی پروسهها در لینوکس توسط - بخش دوم: cron