Notification from Background jobs


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Notification from Background jobs
# 8  
Old 06-19-2007
Tried the same with a sample script.

CallB doesn't gets called until CallA completes.
# 9  
Old 06-19-2007
Hi,
Does this approach helps ?

Code:
#!/bin/ksh
LOG_FILE=/tmp/${0##*/}.log
/bin/rm $LOG_FILE


LogMsg() {
 print "$(date +%d/%m/%y:%H:%M:%S) : $@"  >> $LOG_FILE
}

CallA() {
 LogMsg "Calling Function A"
 iostat 5 5  >> $LOG_FILE &
 LogMsg "A done with $!"
 return $!
}

CallB() {
 LogMsg "Calling Function B"
 vmstat 5 5  >> $LOG_FILE &
 LogMsg "B done with $!"
 return $!
}

CallC() {
 LogMsg "Calling Function C"
 prstat 2 5  >> $LOG_FILE &
 LogMsg "C done with $!"
 return $!
}


Main() {
 LogMsg "Starting the Process - Main"
 CallA
 CallB
 CallC
 wait
 LogMsg "Ending the Process - Main"
}

# Call the Main Function here
Main

Thanks
Nagarajan Ganesan
# 10  
Old 06-19-2007
Now it output A, B & C done with their respective process id's even though they still may be running in the background.

Its not waiting for them to complete. Smilie

What does your this thing mean:
${0##*/}
# 11  
Old 06-19-2007
Quote:
Originally Posted by vibhor_agarwali
Now it output A, B & C done with their respective process id's even though they still may be running in the background.

Its not waiting for them to complete. Smilie

What does your this thing mean:
${0##*/}
S{0##*/} - To extract the name of the script

Here the functions CallA,CAllB &CallC are called from the Main function,these functions returns as soon as they start the background process,where as the Main function waits for all the background process to complete.

The message "Done with Process id" doesn't mean they are done with the background process,but meant to state the function is about to return to the caller (ie Main).
# 12  
Old 06-19-2007
Yes,

But i need to echo the same when the background job terminates. Smilie
# 13  
Old 06-19-2007
And also needs to fire all the jobs simultaneously.

Without waiting for one to finish.
# 14  
Old 06-19-2007
Why is this so hard? You spawn a program with "&" and wait with "wait"

Code:
#!/bin/sh

taskA()
{
    echo taskA

    sleep 5

    echo taskA done
}

taskB()
{
    echo taskB started

    sleep 10

    echo taskB done
}

taskC()
{
    echo taskC started

    sleep 15

    echo taskC done
}

taskA &
taskB &
taskC &

echo spawned all

wait

echo done

Replace each of the sleeps with your long running tasks.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Use of screen in running background jobs and how to use this

Hello, Please advise use of screen in running jobs in nohup background and how to use this Best regards, Vishal (1 Reply)
Discussion started by: Vishal_dba
1 Replies

2. Red Hat

shc utility for background jobs

I have used shc utillity to convert a shell script to it's compiled version.Inside this script i have called another shell script which is also in compled version. Example:- Main script:- main.sh.x child script:- child.sh.x (this is called inside main.sh.x) This child script will run in... (2 Replies)
Discussion started by: millan
2 Replies

3. Shell Programming and Scripting

Nohup and background jobs

Hi All, Can someone help me in knowing the exact difference between nohup and &. The definition is quite clear but i only want to know if i run my job using & and in between i hung up my terminal. (10 Replies)
Discussion started by: Uinx_addic
10 Replies

4. Shell Programming and Scripting

Problem with Background Jobs

We had a generic process where the jobs are scheduled to run sequentially and in background. We are noticing the problems with the background jobs. Error Message: /bin/ksh: /home/suren/bin/GenericReportScript.sh: cannot execute The same script is existing in bin and it had enough... (2 Replies)
Discussion started by: sureng
2 Replies

5. UNIX for Dummies Questions & Answers

Background jobs

If I run a job in the background and logoff. Will the job continue to run or will my processes be killed ? (1 Reply)
Discussion started by: jxh461
1 Replies

6. Shell Programming and Scripting

background jobs exit status and limit the number of jobs to run

i need to execute 5 jobs at a time in background and need to get the exit status of all the jobs i wrote small script below , i'm not sure this is right way to do it.any ideas please help. $cat run_job.ksh #!/usr/bin/ksh #################################### typeset -u SCHEMA_NAME=$1 ... (1 Reply)
Discussion started by: GrepMe
1 Replies

7. UNIX for Dummies Questions & Answers

background job finished notification

In my last job someone gave me the command to put in my .profile that let me know when a job I had running in the background finished. It was a word about 5 char long. I can't remember it! (4 Replies)
Discussion started by: nkeller
4 Replies

8. Programming

Background jobs

Hi there, I'm quite new to UNIX for programming. I have a script that does this: Shows on screen real-time results taken from phone calls and logs them in a file. However, when I start my script, I want my script to start logging in the file in the background, so I can continue working on... (1 Reply)
Discussion started by: Jeremiorama
1 Replies

9. UNIX for Dummies Questions & Answers

Checking background jobs from another session

Ok, so I'm comfortable backgrounding jobs in the shell, starting and stopping them, and bringing them to the fg and bg. What I can't figure out is how to monitor those background jobs from another shell (remote, or local). Example: - On a local console for MYHOST, I su to root - I then update... (3 Replies)
Discussion started by: vikingshelmut
3 Replies

10. Shell Programming and Scripting

background jobs

Hi, i have a problem with turning a job into backgrund. When i enter this at the shell: spice -b darlington.cir -r output.raw > screenout.tmp & and then let me show the currently running jobs, i get the following output: + Suspended (tty output) spice -b darlington.cir -r output.raw >... (4 Replies)
Discussion started by: qsi
4 Replies
Login or Register to Ask a Question