09-24-2009
Wait command help
Hi, Is there any way to know the child process status as and when it finished. If i write like below
nohup sh a1.sh & ### has sleep 20 ;echo a1.sh
nohup sh a2.sh & ### has sleep 10 ;echo a2.sh
nohup sh a3.sh & ### has sleep 5 ;echo a3.sh
wait
This will wait till a1.sh ,a2.sh a3.sh completes. I want to know individual status immediately as it finishes. In the above a3.sh has sleep of 5 , this should come out and display a3.sh. I tried to use wait PID, this command is given one at a time
wait $pid1 ; echo $?
wait $pid2; echo $?
wait $pid3 ; echo $?
Please let me know how this should be done. I don't want wait till all child process finishes. I want it to display as and when it completes. Any help really appreciated.
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a script that runs numerous other scripts. I am using a wait command to try and get the calling script to wait for all process called to finish before proceeding.
Issues
How can I set wait to timeout IE a called program never terminates.
Alternatively how can I check the called... (1 Reply)
Discussion started by: ultraman
1 Replies
2. Shell Programming and Scripting
Does anyone have an example of a korn shell scripts kicking of multiple background processes and then using the wait command to get the return code from those processes?
I want to write a program that kicks off multiple Oracle procedures and then wait for the return code before I procede.... (1 Reply)
Discussion started by: lesstjm
1 Replies
3. Shell Programming and Scripting
Did not use 'wait' yet.
How I understand by now the wait works only for child processes, started background.
Is there any other way to watch completion of any, not related process (at least, a process, owned by the same user?)
I need to start a background process, witch will be waiting... (2 Replies)
Discussion started by: alex_5161
2 Replies
4. Shell Programming and Scripting
Hi All,
I have a script which runs 3 scripts. The first script creates two files. The other two scripts should run only when the files are created.
I tried the following for loop , but it is not working. Can someone please help me.
while ; do
# Sleep until file does exists/is created... (4 Replies)
Discussion started by: nua7
4 Replies
5. Shell Programming and Scripting
Hi all,
After expect catches the string I specify, is there a way to ask expect wait for sometime before running the next send command ?
So my script looks like following,
expect "some string"
#How to ask expect to wait for a while
send "next command"
The reason I want to do this is... (0 Replies)
Discussion started by: qiulang
0 Replies
6. Shell Programming and Scripting
Hi all,
I have never used the wait command before and want to know how it works.
I basically need to run four sqlplus sessions in parallel as background processes and i am spooling the results obtained from the database into files.I need to wait for all the processes to finish and then make... (2 Replies)
Discussion started by: vinoo128
2 Replies
7. UNIX for Dummies Questions & Answers
When running a command using the >(cmd) syntax in bash how do you wait for the command to complete before moving on in your script?
Here is a simple example:
zcat largefile.gz | tee >(wc && echo “HELLO”) > /dev/null
# I tried wait, here but it doesn't wait for the process in the subshell.... (8 Replies)
Discussion started by: mrvwman
8 Replies
8. Shell Programming and Scripting
Hi All,
I have a question related to Shell scripting. In my shell script, I have following two commands in sequence:
sed 's/^/grep "^120" /g' $ORIGCHARGEDAMTLIST|sed "s;$;| cut -f$FIELD_NO1 -d '|' | awk '{ sum+=\$1} END {printf (\"%0.2f\\\n\", sum/100)}' >$TEMPFILE
mv $TEMPFILE $ORIGFILE... (3 Replies)
Discussion started by: angshuman
3 Replies
9. Shell Programming and Scripting
I am trying to write a korn shell script (Z.ksh) that will execute three other korn shell scripts within it. The three korn shell scripts (A.ksh,B.ksh,C.ksh) each execute a series of .sas programs. A.ksh, B.ksh, and C.ksh must each wait until the last .sas program within them executes and finishes... (2 Replies)
Discussion started by: imoore
2 Replies
10. Shell Programming and Scripting
while read list
do
nohup ./process.sh $list &
process_id=$!
wait $process_id
done < sample.lst
command1..
command2..
//Am calling a shell script within and firing the multiple processes concurrently. (8 Replies)
Discussion started by: manid
8 Replies
WAIT(2) System Calls Manual WAIT(2)
NAME
wait - wait for process to terminate
SYNOPSIS
wait(status)
int *status;
wait(0)
DESCRIPTION
Wait causes its caller to delay until a signal is received or one of its child processes terminates. If any child has died since the last
wait, return is immediate; if there are no children, return is immediate with the error bit set (resp. with a value of -1 returned). The
normal return yields the process ID of the terminated child. In the case of several children several wait calls are needed to learn of all
the deaths.
If (int)status is nonzero, the high byte of the word pointed to receives the low byte of the argument of exit when the child terminated.
The low byte receives the termination status of the process. See signal(2) for a list of termination statuses (signals); 0 status indi-
cates normal termination. A special status (0177) is returned for a stopped process which has not terminated and can be restarted. See
ptrace(2). If the 0200 bit of the termination status is set, a core image of the process was produced by the system.
If the parent process terminates without waiting on its children, the initialization process (process ID = 1) inherits the children.
SEE ALSO
exit(2), fork(2), signal(2)
DIAGNOSTICS
Returns -1 if there are no children not previously waited for.
ASSEMBLER
(wait = 7.)
sys wait
(process ID in r0)
(status in r1)
The high byte of the status is the low byte of r0 in the child at termination.
WAIT(2)