I solved a similar problem by installing gnu parallel on my system. It did everything that I wanted, and better than I would have coded. Ali On Tue, Mar 27, 2012 at 6:37 PM, Mark LaPierre <marklapier@xxxxxxx> wrote:
Check out the redirection at the end of each command. 1>&2 redirects the standard out of your child command to the standard error which then appears in the parent shell. At the end the last & launches your command into a background shell and then moves on to launch the next command. The redirections don't care if the command ever terminates. The result is that both commands are launched and the parent shell terminates leaving the standard error attached to the terminal that the parent was launched in. On 03/27/2012 09:08 PM, bruce wrote: > marklapier@xxxxxxx > > hey mark.... > > what you have, appears to be pretty close to what i had... except my > tests never ended... the loops are infinite... > > can i do a fpaste and have you take a look at what i have? > > -btuce > > > On Tue, Mar 27, 2012 at 9:00 PM, Mark LaPierre<marklapier@xxxxxxx> wrote: >> On 03/27/2012 05:25 PM, bruce wrote: >>> >>> hi. >>> >>> got a couple of test bash scripts. >>> >>> dog.sh, cat.sh >>> each script runs the underlying php in an endless loop. >>> >>> I'm trying to figure out how to run the scripts in parallel, from the >>> same parent shell script. something like: >>> >>> test.sh >>> >>> >>> where dog.sh would be : >>> -------------------------------- >>> while true >>> do >>> pgrep dog >>> if [ $? -ne 0 ] >>> then >>> /dog.php >>> fi >>> sleep 5 >>> done >>> >>> my current tests, run dog.sh, which runs the dog.php ... but the test >>> never gets to run cat.sh >>> >>> thoughts/comments... >>> >>> thanks >> >> Hey Bruce, >> >> Do you mean to run these subprograms in parallel or in series? >> >> cat.sh >> #! /bin/bash >> >> CAT=0 >> until [ $CAT -eq 10 ] >> do >> echo "Inside a dog it's too dark to read. $CAT" >> CAT=$[$CAT + 1] >> sleep 2 >> done >> >> >> dog.sh >> #! /bin/bash >> >> DOG=0 >> until [ $DOG -eq 10 ] >> do >> echo "Next to a dog a book is man's best friend. $DOG" >> DOG=$[$DOG + 1] >> sleep 2 >> done >> >> >> test.sh >> #! /bin/sh >> >> /home/mlapier/test/dog.sh 1>&2& >> /home/mlapier/test/cat.sh 1>&2& >> >> >> [mlapier@mushroom test]$ ./test.sh >> [mlapier@mushroom test]$ Next to a dog a book is man's best friend. 0 >> Inside a dog it's too dark to read. 0 >> Next to a dog a book is man's best friend. 1 >> Inside a dog it's too dark to read. 1 >> Next to a dog a book is man's best friend. 2 >> Inside a dog it's too dark to read. 2 >> Next to a dog a book is man's best friend. 3 >> Inside a dog it's too dark to read. 3 >> Next to a dog a book is man's best friend. 4 >> Inside a dog it's too dark to read. 4 >> Next to a dog a book is man's best friend. 5 >> Inside a dog it's too dark to read. 5 >> Next to a dog a book is man's best friend. 6 >> Inside a dog it's too dark to read. 6 >> Next to a dog a book is man's best friend. 7 >> Inside a dog it's too dark to read. 7 >> Next to a dog a book is man's best friend. 8 >> Inside a dog it's too dark to read. 8 >> Next to a dog a book is man's best friend. 9 >> Inside a dog it's too dark to read. 9 >> >> >> >> -- >> users mailing list >> users@xxxxxxxxxxxxxxxxxxxxxxx >> To unsubscribe or change subscription options: >> https://admin.fedoraproject.org/mailman/listinfo/users >> Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines >> Have a question? Ask away: http://ask.fedoraproject.org _______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos
_______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org