File: 10.1.c

package info (click to toggle)
c-cpp-reference 2.0.2-8
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 8,016 kB
  • ctags: 4,612
  • sloc: ansic: 26,960; sh: 11,014; perl: 1,854; cpp: 1,324; asm: 1,239; python: 258; makefile: 119; java: 77; awk: 34; csh: 9
file content (39 lines) | stat: -rw-r--r-- 783 bytes parent folder | download | duplicates (5)
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
#include <sys/ioctl.h>
#include "10.h"

int MyPid;        /* the shell's process id       */
int MyPgrp;       /* the shell's process group    */
int TermPgrp;     /* the terminal's process group */

setup()
{
    /*
     * Obtain shell's process id.
     */
    MyPid = getpid();

    /*
     * Just use pid for process group.  This is
     * not a requirement, just convenient.  Other
     * ways of picking a process group can be used.
     */
    MyPgrp = MyPid;
    TermPgrp = MyPid;

    /*
     * Set the shell's process group.
     */
    if (setpgrp(MyPid, MyPgrp) < 0) {
        perror("setpgrp");
        exit(1);
    }

    /*
     * Set the terminal's process group.
     */
    if (ioctl(1, TIOCSPGRP, &MyPgrp) < 0) {
        perror("ioctl");
        exit(1);
    }
}