How to do parrallel processing in Unix Shell script?

Posted by Bikram Agarwal on Stack Overflow See other posts from Stack Overflow or by Bikram Agarwal
Published on 2010-05-11T12:47:13Z Indexed on 2010/05/11 17:04 UTC
Read the original article Hit count: 293

I have a shell script that transfers a build.xml file to a remote unix machine (devrsp02) and executes the ANT task wldeploy on that machine (devrsp02). Now, this wldeploy task takes around 15 minutes to complete and while this is running, the last line at the unix console is -

"task {some digit} initialized".

Once this task is complete, we get a "task Completed" msg and the next task in the script is executed only after that.

But sometimes, there might be a problem with the weblogic domain and the deployment might be failing internally, with no effect on the status of the wldeploy task. The unix console will still be stuck at "task {some digit} initialized". The error of the deployment will be getting logged in a file called output.a

So, what I want now is - Start a time counter before running wldeploy. If the wldeploy runs for more than 15 minutes, the following command should be run -

tail -f output.a ## without terminating the wldeploy

or

cat output.a ## after terminating the wldeploy forcefully

Point to be noted here is - I can't run the wldeploy task in background, as in that case the user won't get to know when the task is complete, which is crucial for this script.

Could you please suggest anything to achieve this?

© Stack Overflow or respective owner

Related posts about unix

Related posts about shell-scripting