How can process become a member of a process group?

Clash Royale CLAN TAG#URR8PPP
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
add a comment |
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
add a comment |
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
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
process process-groups
edited Dec 20 '18 at 7:11
Rui F Ribeiro
39k1479130
39k1479130
asked Mar 27 '17 at 14:51
SantaXL
153
153
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Mar 27 '17 at 15:40
thrig
24.2k23056
24.2k23056
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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