Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

setpgid(2) [netbsd man page]

SETPGID(2)						      BSD System Calls Manual							SETPGID(2)

NAME
setpgid, setpgrp -- set process group LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <unistd.h> int setpgid(pid_t pid, pid_t pgrp); int setpgrp(pid_t pid, pid_t pgrp); DESCRIPTION
setpgid() sets the process group of the specified process pid to the specified pgrp. If pid is zero, then the call applies to the current process. If pgrp is zero, then the process id of the process specified by pid is used instead. If the invoker is not the super-user, then the affected process must have the same effective user-id as the invoker or be a descendant of the invoking process. RETURN VALUES
setpgid() returns 0 when the operation was successful. If the request failed, -1 is returned and the global variable errno indicates the reason. ERRORS
setpgid() will fail and the process group will not be altered if: [EACCES] The value of the pid argument matches the process ID of a child process of the calling process, and the child process has successfully executed one of the exec functions. [EINVAL] The value of the pgrp argument is less than zero. [EPERM] The effective user ID of the requested process is different from that of the caller and the process is not a descendant of the calling process. [ESRCH] The value of the pid argument does not match the process ID of the calling process or of a child process of the calling process. SEE ALSO
getpgrp(2) STANDARDS
The setpgid() function conforms to ISO/IEC 9945-1:1990 (``POSIX.1''). COMPATIBILITY
setpgrp() is identical to setpgid(), and is retained for calling convention compatibility with historical versions of BSD. BSD
December 18, 2003 BSD

Check Out this Related Man Page

SETPGID(2)						      BSD System Calls Manual							SETPGID(2)

NAME
setpgid, setpgrp -- set process group LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <unistd.h> int setpgid(pid_t pid, pid_t pgrp); int setpgrp(pid_t pid, pid_t pgrp); DESCRIPTION
The setpgid() system call sets the process group of the specified process pid to the specified pgrp. If pid is zero, then the call applies to the current process. If pgrp is zero, then the process id of the process specified by pid is used instead. If the affected process is not the invoking process, then it must be a child of the invoking process, it must not have performed an exec(3) operation, and both processes must be in the same session. The requested process group ID must already exist in the session of the caller, or it must be equal to the target process ID. RETURN VALUES
The setpgid() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. COMPATIBILITY
The setpgrp() system call is identical to setpgid(), and is retained for calling convention compatibility with historical versions of BSD. ERRORS
The setpgid() system call will fail and the process group will not be altered if: [EINVAL] The requested process group ID is not legal. [ESRCH] The requested process does not exist. [ESRCH] The target process is not the calling process or a child of the calling process. [EACCES] The requested process is a child of the calling process, but it has performed an exec(3) operation. [EPERM] The target process is a session leader. [EPERM] The requested process group ID is not in the session of the caller, and it is not equal to the process ID of the target process. SEE ALSO
getpgrp(2) STANDARDS
The setpgid() system call is expected to conform to ISO/IEC 9945-1:1990 (``POSIX.1''). BSD
February 8, 2004 BSD
Man Page

9 More Discussions You Might Find Interesting

1. Programming

printing ppid,child pid,pid

question: for the below program i just printed the value for pid, child pid and parent pid why does it give me 6 values? i assume ppid is 28086 but can't figure out why there are 5 values printed instead of just two! can someone comment on that! #include<stdio.h> #define DIM 8 int... (3 Replies)
Discussion started by: a25khan
3 Replies

2. Programming

get process name from pid - getcommandline

All, I have a requirement to get the process name of the newly execv'd process. After getting the complete process name, I need to carry out further operations on that. Problem so far is how do I retrieve the name of the process ? There is an API in windows called GetCommandLine. I... (2 Replies)
Discussion started by: vino
2 Replies

3. Programming

using a filepointer in a diffrent program

Hi ALL : consider the given 2 codes: //p1.c #include<stdio.h> FILE * fp; main() { pid_t pid; fp=fopen(".........."); // now i am transfering the control to a new process(p2.c). pid=fork(); if(pid==0) ..... execl(" p2".....); .... ... (6 Replies)
Discussion started by: bankpro
6 Replies

4. Programming

forking n number of processes in a loop and not 2^n

Hi, Am working on linux. while forking in a loop how to avoid the child process from forking..for example int n = 5; pid_t pid; pid_t ch_pid; /*exactly wanted to create n processes and not 2^n processes*/ for(i = 0; i < n;i++) { if(pid = fork()) { /* parent... (4 Replies)
Discussion started by: rvan
4 Replies

5. UNIX for Dummies Questions & Answers

Need to get pid of a process and have to store the pid in a variable

Hi, I need to get the pid of a process and have to store the pid in a variable and i want to use this value(pid) of the variable for some process. Please can anyone tell me how to get the pid of a process and store it in a variable. please help me on this. Thanks in advance, Amudha (7 Replies)
Discussion started by: samudha
7 Replies

6. Programming

warning: int format,pid_t arg (arg 2)

I try following code under Solaris10,like follows: int glob = 6; int main(void) { int var; pid_t pid; var = 88; printf("before vfork\n"); if ((pid = vfork()) < 0) { err_sys("vfork error"); } else if (pid == 0) { glob++; var++; _exit(0); } ... (1 Reply)
Discussion started by: konvalo
1 Replies

7. UNIX for Advanced & Expert Users

Unix script seems to be momentarily creating child process for unknown reason

Hi, I have a unix script that basically has a while loop inside which it checks Oracle database for certain records. If it finds the records, it does some processing and then goes back to the while loop. If it doesnot find any matching records, then it sleeps for 30 seconds and then goes back to... (17 Replies)
Discussion started by: waavman
17 Replies

8. UNIX for Dummies Questions & Answers

Determine uniqueness of pid to name output files

Hi, We've a process on AIX UNIX server which is executed by multiple uses during a day. I wish to create a log file for every time the process is executed. I wish to know how unique are PID(s) on AIX UNIX servers if I were to name the log files with <date> and <PID>? E.g. If I create my... (1 Reply)
Discussion started by: vkumbhakarna
1 Replies

9. AIX

Monitoring tools

The monitoring tools what we have not able to see historical information about the process name or pid number for the process that consumed high CPU or memory or paging space. Can you please suggest some of the best monitoring tools available in the market that monitors primarily AIX and other Unix... (0 Replies)
Discussion started by: baladelaware73
0 Replies