On Wed, 24 Jun 2009 21:28:53 -0400 Johan Kullstam <[email protected]> wrote:
> Kamaraju S Kusumanchi <[email protected]> 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: > I think that you also need to create the files, something like > > proga.out: > proga touch proga.out > > progb.out: > progb touch progb.out > > 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. > > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

