خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش استفاده از دستور sleep در لینوکس

آموزش استفاده از دستور sleep در لینوکس
Sleep ابزار خط فرمان است که به شما امکان می دهد فرآیند اجرای دستور برای مدت زمان مشخصی به حالت تعلیق در آورید. به عبارت دیگر، دستور Sleep اجرای دستور بعدی را برای مدت معینی که بر حسب ثانیه است، متوقف می کند.

نرم افزار سامانه مودیان راهکار
دستور Sleep بیشتر مناسب زمانی است که در یک اسکریپت bash shell استفاده شود، به عنوان مثال، هنگام تلاش دوباره یک عملیات ناموفق یا در داخل یک loop استفاده شود.


در این آموزش نحوه استفاده از دستور Sleep لینوکس را به شما نشان خواهیم داد.

نحوه استفاده از دستور sleep در لینوکس

Syntax کلی دستور sleep بصورت زیر می باشد:

sleep NUMBER[SUFFIX]...

NUMBER ممکن است یک عدد صحیح مثبت یا یک عدد ممیزی باشد. SUFFIX یا پسوند هم می تواند یکی از موارد زیر باشد:

s - seconds (default)
m - minutes
h - hours
d - days

زمانی که از هیچ suffix یا پسوندی استفاده نمی شود، به طور پیش فرض بر روی ثانیه تنظیم می شود.
وقتی دو یا چند آرگومان پاس داده می شود، کل زمان معادل مجموع مقادیر آنهاست. در ادامه چند مثال از نحوه به کارگیری دستور sleep را در لینوکس مورد بررسی قرار می دهیم.
Sleep به مدت 5 ثانیه:

sleep 5

Sleep به مدت نیم ثانیه:

sleep 0.5

Sleep به مدت دو دقیقه و سی ثانیه:

sleep 2m 30s

در این بخش، چند اسکریپت پایه ای shell را بررسی خواهیم کرد تا نحوه استفاده از دستور Sleep را ببینیم.

#!/bin/bash

# start time
date +"%H:%M:%S"

# sleep for 5 seconds
sleep 5

# end time
date +"%H:%M:%S"

وقتی اسکریپت را اجرا می کنید، زمان جاری را با فرمت HH:MM:SS نمایش می دهد. سپس دستور sleep اسکریپت را به مدت 5 ثانیه pause می کند. پس از سپری شدن دوره زمانی مشخص شده، آخرین خط اسکریپت زمان جاری را نمایش می دهد.
خروجی چیزی شبیه به این خواهد بود:

13:34:40
13:34:45

حالا اجازه دهید به یک مثال پیشرفته تر توجه شما را جلب کنم:

#!/bin/bash
while :
do
if ping -c 1 ip_address &> /dev/null
then
echo "Host is online"
break
fi
sleep 5
done

اسکریپت هر 5 ثانیه یک بار بررسی می کند که هاست آنلاین است یا خیر. زمانی که هاست مربوطه آنلاین شود، اسکریگت به شما اعلان داده و استاپ می شود.
نحوه کار اسکریپت:
در خط اول، یک حلقه while بی نهایت ایجاد می کنیم. سپس از دستور ping برای تعیین اینکه آیا هاست با آدرس آی پی ip_address قابل دسترسی است یا خیر، استفاده می کنیم. اگر میزبان قابل دسترسی باشد، اسکریپت " Host is online" را نشان داده و حلقه را خاتمه می دهد. ولی چنانچه هاست مربوطه reachable یا در دسترس نباشد، دستور sleep به مدت 5 ثانیه، pause کرده و سپس loop را از اول شروع می کند.

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز