Czy nowy rodzic zawsze "init" lub jest w jakiś sposób kontrolować, kto zostanie nowym rodzicem?ponowne rodzicielstwo procesu: kontrolowanie, kto jest nowym rodzicem
Wikipedia wydaje się wskazywać, że zawsze jest "init". Naprawdę mam nadzieję, że tak nie jest. Próbowałem wszystkiego, co wymyśliłem przy setpgid i setsid, ale bez powodzenia. A teraz, gdy widzę ten artykuł wikipedii, potrzebuję rady.
W uniksopodobnego system operacyjny dowolny osierocony proces będzie natychmiast przyjęta na specjalnym init procesowego. Ta operacja nosi nazwę ponownego rodzicielstwa i następuje automatycznie. Chociaż technicznie proces ma proces "init" jako jego obiekt nadrzędny, , to nadal jest nazywany procesem osieroconym , ponieważ proces, który pierwotnie stworzył , już nie istnieje. Taken from wikipedia
Powodem Pytam dlatego Robię aplikację Mac, który uruchamia wiele procesów roboczych. Chcę, aby te procesy robocze pojawiły się jako elementy podrzędne procesu głównego w hierarchii procesów task manager. Niektórzy pracownicy działają jako różni użytkownicy, aw systemie Mac OS X trzeba dwukrotnie się rozwidlić, aby przekazać uprawnienia procesowi podrzędnemu. Ponieważ "podwójnie rozwidlałem" robotników, którzy obecnie pracują jako deamons, i kiedy patrzę z menedżerem zadań widzę, że robotnicy mają "init" jako proces nadrzędny.