Sleep while i > 0


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sleep while i > 0
# 1  
Old 11-02-2012
Sleep while i > 0

Hi,
I have a script that runs a process at the beginning and I want to sleep/wait until this process is finished and then continue with the rest of the script. I am trying with this, but it is not working:
Code:
process=`ps -ef | grep "proc_p01 -c" | grep -v grep | wc -l`
if [ $process -gt 0 ]; do
  sleep 10
done

Actually, it never ends. Can you help me, please?
# 2  
Old 11-02-2012
How do you start the process in the first place? Like proc_p01 -c &?

If so, then just use wait in your script. It's meant for this task.
This User Gave Thanks to hergp For This Post:
# 3  
Old 11-02-2012
how do you run the process ? is it a script called in your script ?

use wait
Code:
 
 
#!/bin/bash
 
/call/one/script.sh
wait
echo "End"

End will print after the script.sh is fully completed.
# 4  
Old 11-02-2012
You call your thread Sleep while i > 0 and then use if [ $process -gt 0 ]; ?
Anyhow, if you run your process in the background using the & metachar, you can wait for it to finish and then continue the script. If you are using some other technique, place the ps | grep in the while test like
Code:
 while  ps|grep [9]029 ; do sleep 10; done

# 5  
Old 11-02-2012
Just a little example

Code:
sleep 20 &
p1=$!
echo "$p1 running"
sleep 15 &
p2=$!
echo "$p2 running"
sleep 10 &
p3=$!
echo "$p3 running"
sleep 5 &
p4=$!
echo "$p4 running"

date
wait $p1 $p2 $p3 $p4
date
echo "All sleep process are finished"

# 6  
Old 11-02-2012
Quote:
Originally Posted by RudiC
If you are using some other technique, place the ps | grep in the while test like
Code:
 while  ps|grep [9]029 ; do sleep 10; done

If that's intended to check for the existence of a process with pid 9029, it would be simpler to just use:
Code:
while ps -p 9029 >/dev/null; do
...
done

Regards,
Alister
# 7  
Old 11-02-2012
Quote:
Originally Posted by hergp
How do you start the process in the first place? Like proc_p01 -c &?

If so, then just use wait in your script. It's meant for this task.
Yes, I start it like that and 'wait' is perfect!
Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sleep Until Query

Hi, I am a newbie in UNIX please help me develop code for below logic:-- I want my script to implement sleep until a specified time(date doesn't matter) ---------------------------------------- While currenttime > 14:00 and < 18:00 sleep end while run command exit... (9 Replies)
Discussion started by: kiitmale
9 Replies

2. UNIX for Dummies Questions & Answers

sleep infinity

This might be one of the dumbest questions you've got, but please bear with me: I am a UNIX beginner. I had an test today and I was asked the following question: Q. How do you put the terminal into sleep indefinitely? I didn't know the answer, but after I came home, I tried the following... (9 Replies)
Discussion started by: indyxandy
9 Replies

3. Shell Programming and Scripting

Wrapping 'sleep' with my 'resleep' function (Resettable sleep)

This is a very crude attempt in Bash at something that I needed but didn't seem to find in the 'sleep' command. However, I would like to be able to do it without the need for the temp file. Please go easy on me if this is already possible in some other way: How many times have you used the... (5 Replies)
Discussion started by: deckard
5 Replies

4. UNIX for Dummies Questions & Answers

sleep command

Hi All I have a requiremnt to run a script inside another script. here i am pulling the record count from the table in oracle.If record count is greater than 0 the script is executed.The scripts updates the count in the table and again the count is found out and the condition is checked and same... (3 Replies)
Discussion started by: dr46014
3 Replies

5. Shell Programming and Scripting

Sleep Command

I am in need of some help; think I have confused myself. Here is the issue I am faced with. The script log file was fine, the nohup.out file has tens of thousands of lines like illegal use of sleep: sleep seconds So I assume there is something with the seconds calculation in the script... (1 Reply)
Discussion started by: Glove
1 Replies

6. Programming

Sleep() not working

I have a function that quits a program when <ctrl>c is entered as per following code; void quitter (void) { clear (); mvprintw (QUITTER_ROW, QUITTER_COL, "Quitting..."); refresh (); sleep (15); endwin (); exit (1); }This function is called thus; signal (SIGINT, quitter); It... (2 Replies)
Discussion started by: enuenu
2 Replies

7. UNIX for Dummies Questions & Answers

Sleep less than 1 second

Does anyone know a way to sleep less than 1 second? Sometimes when I write scripts that iterates a loop many times it would be nice to slow things down, but sometimes 1 second is too much. (9 Replies)
Discussion started by: bjorno
9 Replies

8. Shell Programming and Scripting

Sleep under one second

If I want a script to sleep for less than a second, would I use a decimal? In other words, if I wanted my script to sleep for 1/4 of a second, would I say, SLEEP .25 ?? (5 Replies)
Discussion started by: Scoogie
5 Replies

9. UNIX for Dummies Questions & Answers

sleep

what is the purpose of the sleep command? (5 Replies)
Discussion started by: Anna
5 Replies
Login or Register to Ask a Question