Разрешает ли Linux переназначать идентификаторы групп процессов процессам?

Предположим, что pid X является лидером группы процессов и X завершается, но другие процессы в группе процессов продолжают работать (с X в качестве pgid). Будет ли Linux препятствовать назначению значения X в качестве pid новому процессу?

Я спрашиваю об этом из-за условия сбоя, которое POSIX допускает для setsid :

[EPERM] Вызывающий процесс уже является лидером группы процессов, или идентификатор группы процессов процесса, отличного от вызывающего, совпадает с идентификатором процесса вызывающего процесса.

Эта ошибка кажется ошибкой неустранимое условие для кода, использующего группы процессов (то есть оболочки), которые будут запускаться «случайным образом», что делает его еще более одиозным. Я бы предположил, что любая реализация, нацеленная на нормальный уровень качества, позволила бы избежать переназначения X как pid, пока он все еще используется как pgid, но я нигде не могу найти это задокументировано.

9
задан R.. 22 July 2011 в 01:55
поделиться