Присоединиться к группе процессов или создать группу процессов
#include <process.h>int setpgid( pid_t pid,pid_t pgid );
0
, или идентификатор процесса, который будет работать с группой процессов.0
, или идентификатор группы процессов, к которой необходимо присоединиться или ее создать.libc
Функция setpgid() используется либо для присоединения к существующей группе процессов, либо для создания новой группу процессов в сеансе вызывающего процесса. Идентификатор группы процессов для лидера сеанса не изменяется.
Принятые определения:
В случае успешного завершения, идентификатор группы процессов для процесса PID равным pid устанавливается в значение pgid. Если задать pid или pgid равными нулю, то это будет соответствовать идентификатору вызывающего процесса.
/** Процесс присоединяется к группе процессов 0.*/#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <process.h>int main( void ){if ( setpgid( getpid(), 0 ) == -1 ){perror( "setpgid" );}printf( "%d принадлежит к группе процессов %d\n", getpid(), getpgrp() );return (EXIT_SUCCESS);}
POSIX 1003.1
errno, getpgid(), getsid(), setsid()
Предыдущий раздел: Описание API системной библиотеки