[CentOS] parallel bash scripts

Mark LaPierre marklapier at aol.com
Tue Mar 27 21:37:21 EDT 2012


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 at aol.com
>
> 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 at aol.com>  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 at mushroom test]$ ./test.sh
>> [mlapier at 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 at lists.fedoraproject.org
>> 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



More information about the CentOS mailing list