Основы операционных систем. Практикум

       

с идентификатором его группы, называется


/p> Процесс, идентификатор которого совпадает с идентификатором его группы, называется лидером группы. Одно из ограничений на применение вызовов setpgid() и setpgrp() состоит в том, что лидер группы не может перебраться в другую группу.

Каждый сеанс в системе также имеет собственный номер. Для того чтобы узнать его, можно воспользоваться системным вызовом getsid(). В разных версиях UNIX на него накладываются различные ограничения. В Linux такие ограничения отсутствуют.



Системный вызов getsid()

Прототип системного вызова

#include <sys/types.h> #include <unistd.h> pid_t getsid(pid_t pid);

Описание системного вызова

Системный вызов возвращает идентификатор сеанса для процесса с идентификатором pid. Если параметр pid равен 0, то возвращается идентификатор сеанса для данного процесса

Тип данных pid_t является синонимом для одного из целочисленных типов языка C.



Использование системного вызова setsid() приводит к созданию новой группы, состоящей только из процесса, который его выполнил (он становится лидером новой группы), и нового сеанса, идентификатор которого совпадает с идентификатором процесса, сделавшего вызов. Такой процесс называется лидером сеанса. Этот системный вызов может применять только процесс, не являющийся лидером группы.



Системный вызов setsid()

Прототип системного вызова

#include <sys/types.h> #include <unistd.h> int setsid(void);

Описание системных вызовов

Этот системный вызов может применять только процесс, не являющийся лидером группы, т.е. процесс, идентификатор которого не совпадает с идентификатором его группы. Использование системного вызова setsid приводит к созданию новой группы, состоящей только из процесса, который его выполнил (он становится лидером новой группы), и нового сеанса, идентификатор которого совпадает с идентификатором процесса, сделавшего вызов.

Возвращаемое значение

Системный вызов возвращает значение 0 при нормальном завершении и значение -1 при возникновении ошибки.



Если сеанс имеет управляющий терминал, то этот терминал обязательно приписывается к некоторой группе процессов, входящей в сеанс.

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий