Hi All,
i am very new to shall script . i am not that much aware of sleep command ,
i want to terminate the sleep command after certain time.
following is my code.
while [ "$messag" ! ="P" ]
loop
sleep 1800
messag=/status.sql
done
the script will be on sleep untill the messag be comes P. here my requirement is . if the sleep function goes beyond 8 hours.. i want to come out from the sleep mode and i want to exit from the rest of the script.
for that i have written if statement. but.. is there any command with terminates the sleep mode after certain time.
while [ "$messag" != "P" ]
loop
if [ $count -ge 10 ]
then
exit 0;
else
sleep 1800
messag=/status.sql
count=$[$count+1]
done
but my logic is wrong.. pls any one help me out from this problem
Thanks
Sree
I guess the following code snippet can help
#setting counter value
timeElapsed=1800
while [ "$messag" != "P" ]
loop
sleep 1800
messag=/status.sql
#incrementinc counter value
timeElapsed=`expr ${timeElapsed} + 1800`
# checking the counter value is equal to 8 hours (28800 seconds)
if [ ${timeElapsed} -eq 28800 ]; then
echo "8 Hour Time Out reached exiting !!!"
#break or exit 0 as per your need
exit 0
fi
done
Hi ,
My Question is , is there any command which automatically terminates the sleep command. or is there any way to give sleep command that has to work for given hours and after that the sleep function should not work.
like
while [ "$messag" ! ="P" ]
loop
sleep 1800
messag=/status.sql
done
sleep 1800 ,.. it means it will be in loop till 30 mints.. and again it will check the condition if it is false again it will go to sleep for another 30 mints .. like i want to work sleep command up to 2 hours.. if it is beyond 2 hours .. sleep command should come out ..and it should come out of the execution .
please help me out from this problem so that am very thank full to every one
Thanks
Sree
Try using the code with ksh
shell ..
cnt=0
messag=P
while [ $cnt -le 4 ]
do
[ "$messag" != "P" ] && exit || cnt=$((cnt+1))
sleep 1800
messag=/status.sql
[ $cnt -eq 4 ] && exit || echo "Count: $cnt"
done
Hi All,
Thanks for replies .. my problem is resolved ...
for my curiousness am asking one more question... like is there any command with terminates the sleep mode of a job.. ... is there any way to set the sleep out timings .. i means the script should sleep only for 3 hours .. if it goes beyond 3 hours it should come out of the script.
i will give u more detail
while [ "$messag" ! ="P" ]
loop
sleep 1800
messag=/status.sql
done
the script will sleep untill the messag becomes "P"... it may take one hour or 5 hours ... so my thing is while defining the sleep timing is there any way to give sleep time out after 3 hours .? is there any command like sleep out.
please let me know if there is such command.
Thanks
Sree