Kamaraju S Kusumanchi <raju.mailingli...@gmail.com> writes: > I have three programs - say proga, progb, progc. > > proga, progb are completely independent. They take couple of hours to > finish. The time to complete proga, progb are not same. > > progc should to be launched only after both proga, progb are finished. progc > takes another couple of hours to finish. > > What is good way to automate this problem (that is no manual interaction)? I > prefer to use nohup since sometimes I have to log out of the machine before > the whole process finishes. > > Currently I have a shell script that works as below. > 1) launch proga, progb in the background using nohup. > 2) Ask proga, progb to write a file when they finish. > 3) Every five minutes check if these files are present. If they are present, > launch progc.
Use make. I like to use make for all sorts of things, not just compiles. And, since you are already using the existance of a file to check for done, you are practically there. Make with the "-j" parameter will spawn parallel jobs for you. Write a makefile similar this: proga.out: proga progb.out: progb probc.out: proga.out progb.out progc Then you can do $ nohup make -j 2 & Maybe a redirect of the text output to a file. Now you can walk away. -- Johan KULLSTAM -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org