Системный вызов setpgid() Прототип системного вызова #include <sys/types.h> #include <unistd.h> int setpgid(pid_t pid, pid_t pgid); Описание системного вызова Системный вызов setpgid служит для перевода процесса из одной группы процессов в другую, а также для создания новой группы процессов. Параметр pid является идентификатором процесса, который нужно перевести в другую группу, а параметр pgid – идентификатором группы процессов, в которую предстоит перевести этот процесс. Не все комбинации этих параметров разрешены. Перевести в другую группу процесс может либо самого себя (и то не во всякую, и не всегда), либо свой процесс-ребенок, который не выполнял системный вызов exec(), т.е. не запускал на выполнение другую программу.
В новую группу не может перейти процесс, являющийся лидером группы, т.е. процесс, идентификатор которого совпадает с идентификатором его группы. Тип данных pid_t является синонимом для одного из целочисленных типов языка C. Возвращаемое значение Системный вызов возвращает значение 0 при нормальном завершении и значение -1 при возникновении ошибки. |
Системный вызов setpgrp() Прототип системного вызова #include <sys/types.h> #include <unistd.h> int setpgrp(void); Описание системного вызова Системный вызов setpgrp служит для перевода текущего процесса во вновь создаваемую группу процессов, идентификатор которой будет совпадать с идентификатором текущего процесса. Возвращаемое значение Системный вызов возвращает значение 0 при нормальном завершении и значение -1 при возникновении ошибки. |