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
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)
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)
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)
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)
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)
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)
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)
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)