Всегда ли новый родитель "init" или есть ли способ контролировать, кто станет новым родителем ?
Википедия, кажется, указывает, что это всегда "init". Я действительно надеюсь, что это не так. Я перепробовал все, что мог придумать с setpgid и setsid, но не повезло. И теперь, когда я вижу эту статью в Википедии, мне нужен совет.
В Unix-подобной операционной системе любой
осиротевший процесс будет сразу
принята специальной системой инициализации
процесс. Эта операция называется
перевоспитание и происходит автоматически.
Хотя технически процесс
имеет процесс "init" в качестве родителя,
это все еще называется сиротским процессом
так как процесс, который изначально
создал его больше не существует.
Взято из википедии
Причина, по которой я спрашиваю, заключается в том, что я делаю приложение для Mac, которое запускает несколько рабочих процессов. Я хочу, чтобы эти рабочие процессы отображались как дочерние элементы основного процесса в иерархии процессов диспетчера задач . Некоторые работники работают от имени разных пользователей, и в Mac OS X мне нужно дважды выполнить разветвление, чтобы передать привилегии дочернему процессу. Поскольку я «делаю двойную вилку», работники в настоящее время работают как демоны, и когда я смотрю с помощью диспетчера задач, я вижу, что работники имеют «init» в качестве родительского процесса.