setpgid(3) Library Functions Manual setpgid(3)Name
setpgid - set process group (POSIX)
Syntax
#include <sys/types.h>
int
setpgid(pid, pgrp)
pid_t pid, pgrp;
Description
The function is used to either join an existing process group or create a new process group within the session of the calling process (see
Upon successful completion, the process group ID of the process that has a process ID which matches pid is set to pgrp. If pid is zero,
then the call applies to the current process. In addition, if pgrp is zero, the process ID of the indicated process is used.
This function is available only in the POSIX environment.
Return Values
The function returns 0 when the operation is successful. If the request fails, -1 is returned and the global variable indicates the rea-
son.
Diagnostics
The function fails and the process group is not altered if one of the following occurs:
[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 an function.
[EINVAL] The value of the pgrp argument is less than zero or is not a supported value.
[EPERM] The process indicated by the pid argument is a session leader.
The value of the pid argument matches the process ID of a child process of the calling process and the child process is not
in the same session as the calling process.
The value of the pgrp argument does not match the process ID of the process indicated by the pid argument and there is no
process with a process group ID that matches the value of the pgrp argument in the same session as the calling process.
[ESRCH] The value of the pid argument does not match the process ID of the calling process of a child process of the calling
process.
See Alsogetpgrp(2), setsid(2)setpgid(3)
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
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
i write a function using to pass the socket connected fd to child process in the sco unix open server 5.0.5,but in fact i execute the program calling the fuction,system report send the fd error:
Jul 12 12:15 send_fd.c: send_fd sendmsg to sd error
how can i solve the problem ,please help me!!!... (6 Replies)
Hello all,
I got this little problem. I don't know what happen, but its not stopping work but is more of an FYI. I have this funny process running when I do ps -aef (on RedHat AS3 ) server I get this funny child process.
root 2345 1 .... /usr/bin/kdm -nodaemon
root... (6 Replies)
hi all,
Is there a simple script anyone could through out to me, to find the pid of a process given the name. I actually need to bind this pid to a processor set. I would probably put these comamns in a shell script which would have.
a) kick start the executable
b) get the pid
c) bind it to a... (10 Replies)
I am calling another script from my main script and making it run in the background,based upon the value of the input provided by the user I want to kill the child process ,I have written this code
timer.ksh &
PID=$$
print "\n Do you wish to continue .. (Y/N) : \c "
read kill_proc
if ]... (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 Experts,
below similar thread i posted earlier. Although i wish to know ur suggestion newly.
I want to run a script every 1 minute. I tried with Crontab. But the problem is cron send every 1 mins invertal- mail to the user mailbox.
meanwhile, some expert telling me it is not wise to... (15 Replies)
Hi All,
My target is to find the biggest files opened by any process and from that i have to find process id and the corresponding file also.
To get the process id which is accessing the biggest file in the given file system, i am using the below command.
pid=`lsof -s /home/arun/my_work |... (4 Replies)
Hi
I want to do something that might sound strange.
I have a code that in written in C and is executed at startup (it's a custom process). It occasionally calls some bash scripts.
The process doesn't have any terminal associated with it.
One thing I don't know how to do is to start a... (5 Replies)
Hi Everyone,
I am using solaris 5.10.
I have a java process running in server mode in unix.
The problem is that it automatically forks i.e creates a child process.
I mean suddenly two instances of that process start running , in which the process-id of first instance is the parent... (5 Replies)
If a code forks 2 childs, what can the values be for the process id's of each of the child? I child pid is supposed to be 0, but what if you fork 2 of them? (5 Replies)
Hello, everyone.
Here's a program:
pid_t pid = fork();
if (0 == pid) // child process
{
execvp ...;
}
I send a signal (such as SIGINT) to the parent process, the child process receive the signal as well as the parent process.
However I don't want to child process to receive the... (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)
Dear All,
Saying, I have two distinct functions with the same goal (counting lines containing a specific pattern in a file MyFile).
To perform that operation, I used a "while loop" with two different syntax ("grep" command would be much more better in that case but this is not the concern in... (8 Replies)
I have requirement where I need to fail parent if any one of the child process fails. Here is the code snippet
for i in 1 2 3 4 5 6 7 8 9 10
do
child_script $i &
done
wait
I need to fail my main script if any one of my child process fails (8 Replies)