Starting multiple independent processes

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0














I'm trying to start multiple processes at the same time using a for loop. I want each to be created in it's own console window. So far i have the following:



for i in 1..5; do konsole -e "./program arg1 arg2"; done 


However , this simply runs them one after another, where i want them to run concurrently. I've tried using '&' but i can't get i to play nicely with the loop.










share|improve this question

















  • 3




    Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
    – AlexP
    Dec 14 at 23:20







  • 2




    @AlexP You should write that up as an answer. I would have upvoted.
    – Sparhawk
    Dec 15 at 3:44















0














I'm trying to start multiple processes at the same time using a for loop. I want each to be created in it's own console window. So far i have the following:



for i in 1..5; do konsole -e "./program arg1 arg2"; done 


However , this simply runs them one after another, where i want them to run concurrently. I've tried using '&' but i can't get i to play nicely with the loop.










share|improve this question

















  • 3




    Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
    – AlexP
    Dec 14 at 23:20







  • 2




    @AlexP You should write that up as an answer. I would have upvoted.
    – Sparhawk
    Dec 15 at 3:44













0












0








0







I'm trying to start multiple processes at the same time using a for loop. I want each to be created in it's own console window. So far i have the following:



for i in 1..5; do konsole -e "./program arg1 arg2"; done 


However , this simply runs them one after another, where i want them to run concurrently. I've tried using '&' but i can't get i to play nicely with the loop.










share|improve this question













I'm trying to start multiple processes at the same time using a for loop. I want each to be created in it's own console window. So far i have the following:



for i in 1..5; do konsole -e "./program arg1 arg2"; done 


However , this simply runs them one after another, where i want them to run concurrently. I've tried using '&' but i can't get i to play nicely with the loop.







bash shell-script






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Dec 14 at 23:14









Mikkel bruun

1




1







  • 3




    Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
    – AlexP
    Dec 14 at 23:20







  • 2




    @AlexP You should write that up as an answer. I would have upvoted.
    – Sparhawk
    Dec 15 at 3:44












  • 3




    Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
    – AlexP
    Dec 14 at 23:20







  • 2




    @AlexP You should write that up as an answer. I would have upvoted.
    – Sparhawk
    Dec 15 at 3:44







3




3




Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
– AlexP
Dec 14 at 23:20





Replace the ; before done with &. But first check whether konsole -e "./program arg1 arg2" does what you think it does.
– AlexP
Dec 14 at 23:20





2




2




@AlexP You should write that up as an answer. I would have upvoted.
– Sparhawk
Dec 15 at 3:44




@AlexP You should write that up as an answer. I would have upvoted.
– Sparhawk
Dec 15 at 3:44










1 Answer
1






active

oldest

votes


















1














A background task is started by putting a & at the end of the command. Your loop would start konsole in the background if you wrote it as



for i in 1..5; do
konsole -e "./program arg1 arg2" &
done


or, on a single line,



for i in 1..5; do konsole -e "./program arg1 arg2" & done


The & is a command terminator, just like ; (and newline and a few others), so it replaces the ; that you originally had there.



Would you want the script to wait for the started background tasks to finish, add a wait at the end:



for i in 1..5; do konsole -e "./program arg1 arg2" & done; wait





share|improve this answer




















    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f488079%2fstarting-multiple-independent-processes%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    A background task is started by putting a & at the end of the command. Your loop would start konsole in the background if you wrote it as



    for i in 1..5; do
    konsole -e "./program arg1 arg2" &
    done


    or, on a single line,



    for i in 1..5; do konsole -e "./program arg1 arg2" & done


    The & is a command terminator, just like ; (and newline and a few others), so it replaces the ; that you originally had there.



    Would you want the script to wait for the started background tasks to finish, add a wait at the end:



    for i in 1..5; do konsole -e "./program arg1 arg2" & done; wait





    share|improve this answer

























      1














      A background task is started by putting a & at the end of the command. Your loop would start konsole in the background if you wrote it as



      for i in 1..5; do
      konsole -e "./program arg1 arg2" &
      done


      or, on a single line,



      for i in 1..5; do konsole -e "./program arg1 arg2" & done


      The & is a command terminator, just like ; (and newline and a few others), so it replaces the ; that you originally had there.



      Would you want the script to wait for the started background tasks to finish, add a wait at the end:



      for i in 1..5; do konsole -e "./program arg1 arg2" & done; wait





      share|improve this answer























        1












        1








        1






        A background task is started by putting a & at the end of the command. Your loop would start konsole in the background if you wrote it as



        for i in 1..5; do
        konsole -e "./program arg1 arg2" &
        done


        or, on a single line,



        for i in 1..5; do konsole -e "./program arg1 arg2" & done


        The & is a command terminator, just like ; (and newline and a few others), so it replaces the ; that you originally had there.



        Would you want the script to wait for the started background tasks to finish, add a wait at the end:



        for i in 1..5; do konsole -e "./program arg1 arg2" & done; wait





        share|improve this answer












        A background task is started by putting a & at the end of the command. Your loop would start konsole in the background if you wrote it as



        for i in 1..5; do
        konsole -e "./program arg1 arg2" &
        done


        or, on a single line,



        for i in 1..5; do konsole -e "./program arg1 arg2" & done


        The & is a command terminator, just like ; (and newline and a few others), so it replaces the ; that you originally had there.



        Would you want the script to wait for the started background tasks to finish, add a wait at the end:



        for i in 1..5; do konsole -e "./program arg1 arg2" & done; wait






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 15 at 9:24









        Kusalananda

        121k16229372




        121k16229372



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f488079%2fstarting-multiple-independent-processes%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown






            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?