summaryrefslogtreecommitdiff
path: root/reference/C/MAN/setpgid.htm
blob: be5deba94d456cc222a14c4f8dada2cf0d58bc6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<TITLE>setpgid</TITLE>
<body bgcolor="#ffffcc">
<hr>
<pre>



<h3>SETPGID(2)          Linux Programmer's Manual          SETPGID(2)
</h3>

<h3>NAME
</h3>       setpgid, getpgid, setpgrp, getpgrp - set/get process group

<h3>SYNOPSIS
</h3>       #include &lt;unistd.h&gt;

       int setpgid(pid_t pid, pid_t pgid);
       pid_t getpgid(pid_t pid);
       int setpgrp(void);
       pid_t getpgrp(void);

<h3>DESCRIPTION
</h3>       setpgid sets the process group ID of the process specified
       by  pid  to  pgid.   If pid is zero, the process ID of the
       current process is used.  If pgid is zero, the process  ID
       of the process specified by pid is used.

       getpgid returns the process group ID of the process speci-
       fied by pid.  If pid is zero, the process ID of  the  cur-
       rent process is used.

       In  the  Linux  DLL  4.4.1  library,  setpgrp simply calls
       setpgid(0,0).

       getpgrp is equivalent to getpgid(0).

       Process groups are used for distribution of  signals,  and
       by  terminals  to arbitrate requests for their input: pro-
       cesses that have the same process group  as  the  terminal
       are  foreground and may read, while others will block with
       a signal if they attempt to read.

       These calls are thus used by programs such  as  csh(1)  to
       create  process  groups  in implementing job control.  The
       TIOCGPGRP and TIOCSPGRP calls described in termios(4)  are
       used to get/set the process group of the control terminal.

<h3>RETURN VALUE
</h3>       On success, setpgid and setpgrp return zero.  On error, -1
       is returned, and errno is set appropriately.

       getpgid  returns a process group on success.  On error, -1
       is returned, and errno is set appropriately.

       getpgrp always returns the current process group.

<h3>ERRORS
</h3>       EINVAL  pgid is less than 0.

       EPERM   Various permission violations.

       ESRCH   pid does not match any process.





<h3>Linux 1.2.4               15 April 1995                         1
</h3>




<h3>SETPGID(2)          Linux Programmer's Manual          SETPGID(2)
</h3>

</pre>
<hr>
<h3>SEE ALSO
</h3><p>
<a href=getuid.htm>getuid</a>, 
<a href=setsid.htm>setsid</a>, 
<a href=tcsetpgrp.htm>tcsetpgrp</a>, 
<a href=termios+4>termios</a>, 
<pre>























































<h3>Linux 1.2.4               15 April 1995                         2
</h3>


</pre>
<P>
<hr>
<p>
<center>
<table border=2 width=80%>
<tr align=center>
<td width=25%>
<a href=../cref.html>Top</a>
</td><td width=25%>
<a href=../master_index.html>Master Index</a>
</td><td width=25%>
<a href=../SYNTAX/keywords.html>Keywords</a>
</td><td width=25%>
<a href=../FUNCTIONS/funcref.htm>Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>

This manual page was brought to you by <i>mjl_man V-2.0</i>