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