How can process become a member of a process group?

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












0














How can process become a member of a PGRP?



My attempt: Process needs to be a child of a PGRP's leader or we need to use a system call setpgid().



Also, another two questions.



1) How can process become a leader of a group?
I can only think about creating a new process, which will automatically become a leader



2) Can group have many leaders?
I think it is impossible, but can't find any information about this



Are my answers correct?










share|improve this question




























    0














    How can process become a member of a PGRP?



    My attempt: Process needs to be a child of a PGRP's leader or we need to use a system call setpgid().



    Also, another two questions.



    1) How can process become a leader of a group?
    I can only think about creating a new process, which will automatically become a leader



    2) Can group have many leaders?
    I think it is impossible, but can't find any information about this



    Are my answers correct?










    share|improve this question


























      0












      0








      0


      0





      How can process become a member of a PGRP?



      My attempt: Process needs to be a child of a PGRP's leader or we need to use a system call setpgid().



      Also, another two questions.



      1) How can process become a leader of a group?
      I can only think about creating a new process, which will automatically become a leader



      2) Can group have many leaders?
      I think it is impossible, but can't find any information about this



      Are my answers correct?










      share|improve this question















      How can process become a member of a PGRP?



      My attempt: Process needs to be a child of a PGRP's leader or we need to use a system call setpgid().



      Also, another two questions.



      1) How can process become a leader of a group?
      I can only think about creating a new process, which will automatically become a leader



      2) Can group have many leaders?
      I think it is impossible, but can't find any information about this



      Are my answers correct?







      process process-groups






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 20 '18 at 7:11









      Rui F Ribeiro

      39k1479130




      39k1479130










      asked Mar 27 '17 at 14:51









      SantaXL

      153




      153




















          1 Answer
          1






          active

          oldest

          votes


















          1















          I can only think about creating a new process, which will automatically become a leader




          False.



          #include <stdio.h>
          #include <unistd.h>
          int main(void)
          pid_t pid;
          pid = fork();
          printf("%d member of %dn", getpid(), getpgrp());
          return 0;



          The new process shares the group of the parent:



          $ make leadership
          cc -g leadership.c -o leadership
          $ ./leadership
          65617 member of 65617
          65618 member of 65617
          $


          Only with setpgid(2) or setsid(2) or similar system calls will the group or leadership change.




          2) Can group have many leaders?




          False. Quoting from Stevens, "Advanced Programming in the UNIX Environment" (2nd ed.), chapter 9 section 4 (p. 243):




          "Each process group can have a process group leader. The leader is identified by having its process group ID equal to its process ID."




          Singular leader, and a very specific case for identifying said leader.






          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%2f354128%2fhow-can-process-become-a-member-of-a-process-group%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















            I can only think about creating a new process, which will automatically become a leader




            False.



            #include <stdio.h>
            #include <unistd.h>
            int main(void)
            pid_t pid;
            pid = fork();
            printf("%d member of %dn", getpid(), getpgrp());
            return 0;



            The new process shares the group of the parent:



            $ make leadership
            cc -g leadership.c -o leadership
            $ ./leadership
            65617 member of 65617
            65618 member of 65617
            $


            Only with setpgid(2) or setsid(2) or similar system calls will the group or leadership change.




            2) Can group have many leaders?




            False. Quoting from Stevens, "Advanced Programming in the UNIX Environment" (2nd ed.), chapter 9 section 4 (p. 243):




            "Each process group can have a process group leader. The leader is identified by having its process group ID equal to its process ID."




            Singular leader, and a very specific case for identifying said leader.






            share|improve this answer

























              1















              I can only think about creating a new process, which will automatically become a leader




              False.



              #include <stdio.h>
              #include <unistd.h>
              int main(void)
              pid_t pid;
              pid = fork();
              printf("%d member of %dn", getpid(), getpgrp());
              return 0;



              The new process shares the group of the parent:



              $ make leadership
              cc -g leadership.c -o leadership
              $ ./leadership
              65617 member of 65617
              65618 member of 65617
              $


              Only with setpgid(2) or setsid(2) or similar system calls will the group or leadership change.




              2) Can group have many leaders?




              False. Quoting from Stevens, "Advanced Programming in the UNIX Environment" (2nd ed.), chapter 9 section 4 (p. 243):




              "Each process group can have a process group leader. The leader is identified by having its process group ID equal to its process ID."




              Singular leader, and a very specific case for identifying said leader.






              share|improve this answer























                1












                1








                1







                I can only think about creating a new process, which will automatically become a leader




                False.



                #include <stdio.h>
                #include <unistd.h>
                int main(void)
                pid_t pid;
                pid = fork();
                printf("%d member of %dn", getpid(), getpgrp());
                return 0;



                The new process shares the group of the parent:



                $ make leadership
                cc -g leadership.c -o leadership
                $ ./leadership
                65617 member of 65617
                65618 member of 65617
                $


                Only with setpgid(2) or setsid(2) or similar system calls will the group or leadership change.




                2) Can group have many leaders?




                False. Quoting from Stevens, "Advanced Programming in the UNIX Environment" (2nd ed.), chapter 9 section 4 (p. 243):




                "Each process group can have a process group leader. The leader is identified by having its process group ID equal to its process ID."




                Singular leader, and a very specific case for identifying said leader.






                share|improve this answer













                I can only think about creating a new process, which will automatically become a leader




                False.



                #include <stdio.h>
                #include <unistd.h>
                int main(void)
                pid_t pid;
                pid = fork();
                printf("%d member of %dn", getpid(), getpgrp());
                return 0;



                The new process shares the group of the parent:



                $ make leadership
                cc -g leadership.c -o leadership
                $ ./leadership
                65617 member of 65617
                65618 member of 65617
                $


                Only with setpgid(2) or setsid(2) or similar system calls will the group or leadership change.




                2) Can group have many leaders?




                False. Quoting from Stevens, "Advanced Programming in the UNIX Environment" (2nd ed.), chapter 9 section 4 (p. 243):




                "Each process group can have a process group leader. The leader is identified by having its process group ID equal to its process ID."




                Singular leader, and a very specific case for identifying said leader.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 27 '17 at 15:40









                thrig

                24.2k23056




                24.2k23056



























                    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%2f354128%2fhow-can-process-become-a-member-of-a-process-group%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

                    Peggy Mitchell

                    Palaiologos

                    The Forum (Inglewood, California)