wait example


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting wait example
# 1  
Old 03-07-2011
wait example

Hi Gurus,

Some questions regarding wait. I have tried searching in this forum for threads on wait but not completely got what I am looking for.

Background:
One script (.sh) that starts/calls a reference to an application's executable and submits a batch job to it. Objective is to wait for the submitted job and once the batch job finishes, get its return code to the scheduler which is sniffing for a return code.

parent script: run.sh
Code:
  #! /usr/sh
  #sample to understand behavior
   /opt/app/r.exe /code/project1/foo.r &
    wait
   echo $?

I get invalid file /code/project1/foo.r 0

I man(ed) wait read thru it but frankly the WIFEXITED, WNOHANG etc I understood but could not find a simple workable "example". The forum threads talk about spawning multiple scripts form one parent script, or ftp, etc etc which is not what I could use.

Questions:
1. Does wait only works with a script starting a child script?
2. I google (d) but could not find any simple working example of wait or an example of how best to use the WIFEXITED, WNOHANG, etc etc. Is there a dummy proof simple example?

Perhaps this is rather simple but I have been staring at it for a while now and dazed Smilie

All suggestions are eagerly accepted and thank you in advance.

---------- Post updated at 06:40 PM ---------- Previous update was at 06:36 PM ----------

Hi Gurus,

Some questions regarding wait. I have tried searching in this forum for threads on wait but not completely got what I am looking for.

Background:
One script (.sh) that starts/calls a reference to an application's executable and submits a batch job to it. Objective is to wait for the submitted job and once the batch job finishes, get its return code to the scheduler which is sniffing for a return code.

parent script: run.sh
Code:
  #! /usr/sh
  #sample to understand behavior
   /opt/app/r.exe /code/project1/foo.r &
    wait
   echo $?

I get invalid file /code/project1/foo.r 0

I man(ed) wait read thru it but frankly the WIFEXITED, WNOHANG etc I understood but could not find a simple workable "example". The forum threads talk about spawning multiple scripts form one parent script, or ftp, etc etc which is not what I could use.

Questions:
1. Does wait only works with a script starting a child script?
2. I google (d) but could not find any simple working example of wait or an example of how best to use the WIFEXITED, WNOHANG, etc etc. Is there a dummy proof simple example?

Perhaps this is rather simple but I have been staring at it for a while now and dazed Smilie

All suggestions are eagerly accepted and thank you in advance.

** I googled, did man wait, did more google. Perhaps it needs to be dummied down a bit for me, lol.

Last edited by Franklin52; 03-08-2011 at 03:08 AM.. Reason: Correcting code tags
# 2  
Old 03-07-2011
Sounds like you are getting the manual entry on the C function wait if manual entry has (3) or (3C) following it that is the C library routine not the OS command which has (1).

Wait is a builtin for most shells so you will find details about in in man sh or man bash

Quote:
Questions:
1. Does wait only works with a script starting a child script?
2. I google (d) but could not find any simple working example of wait or an example of how best to use the WIFEXITED, WNOHANG, etc etc. Is there a dummy proof simple example?
1. Yes you can only wait for you own child processes.
2. To get the exist status of the command you need to explicitly wait for it PID. exit status of wait is 127 if it fails to find the specified child process.

Example:
Code:
background_cmd &
BPID=$!
wait $BPID
stat=$?
 
if [ $stat -eq 127 ] 
then
    echo "It's already finished"
else
    echo "Exit status was $stat"
fi


Last edited by Chubler_XL; 03-07-2011 at 08:58 PM.. Reason: Fix typos and add example
This User Gave Thanks to Chubler_XL For This Post:
# 3  
Old 03-07-2011
Wow! What was taking me ages you took couple of minutes. No wonder I am a big fan of knowledge. I thank you sincerely for your time and advice.

Awesome and it worked.

Best,

RS
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script using Wait

Hi, written a script which uses wait as follows Main.sh #!/usr/bin/ksh nohup scrpit1 1 & pid_1=$! nohup scrpit1 2 & pid_2=$! wait $pid_1 wait $pid_2 nohup scrpit1 3 & pid_1=$! nohup scrpit1 4 & (1 Reply)
Discussion started by: krux_rap
1 Replies

2. Shell Programming and Scripting

calling a shell script in background and wait using "wait" in while loop

Hi, I am facing a strange issue, when i call a script from my while loop in background it doesnt go in background, despite the wait i put below the whil loop it goes forward even before the process put in background is completed. cat abc.txt | while read -u4 line do #if line contains #... (2 Replies)
Discussion started by: mihirvora16
2 Replies

3. Red Hat

WAIT

Can someone explain what is the status says WAIT on performance monitoring command.. (2 Replies)
Discussion started by: suresh_krish
2 Replies

4. UNIX for Advanced & Expert Users

wait process

can any one please give me clear idea of wait process in UNIX system. I am using AIX 5.3 and see loots of wait process. I have very basic concept of wait process. If CPU has nothing to do then a wait process is generated per CPU. But i want know the detail how is it forked. Is wait a jombe... (2 Replies)
Discussion started by: pchangba1
2 Replies

5. Shell Programming and Scripting

wait command - cat it wait for not-chile process?

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

6. Shell Programming and Scripting

wait ${!}

In one of the shell script (Where abinitio graph is called), the last line is wait ${!}. What does this wait ${!} mean ??? (2 Replies)
Discussion started by: risshanth
2 Replies

7. UNIX for Dummies Questions & Answers

About wait

Hi everyone I'm novice at Unix programming and I hope to post this thread in the correct place. I have the following doubts: 1 Suppose we have some processes which are B's children process and another process A which has no relation with B and its children. Can A do wait () for a... (5 Replies)
Discussion started by: Puntino
5 Replies

8. Shell Programming and Scripting

Need to execute 2 scripts, wait, execute 2 more wait, till end of file

:cool: I need to execute a shell script to do the following: cat a file run two back ground processes using the first two values from the file wait till those background processes finish run two more background processes using the next two values from the file wait till those background... (1 Reply)
Discussion started by: halo98
1 Replies

9. UNIX for Dummies Questions & Answers

I/O wait Problem

When running top, I notice a bit more I/O wait time than usual. Is there a tool or piece of software out there that can me help evaluate the performance of these operations on my machine? Thanks! (5 Replies)
Discussion started by: unavb
5 Replies

10. UNIX for Advanced & Expert Users

86% CPU for wait

Hi, is-it normal to have 86% of CPU for wait commande : ps aux| head -20 UTIL PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND root 516 86,6 0,0 12 12 - A 02 nov 2088:03 wait oralfa01 54422 4,6 1,0 68044 39868 - A 09:20:06 2:27 oracleALFA01 If... (3 Replies)
Discussion started by: big123456
3 Replies
Login or Register to Ask a Question