Re: parallel bash scripts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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


[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux