Jeg har et scenario, hvor jeg er nødt til at finde, hvis en proces er en
daemon proces eller ej. Denne kontrol, der skal gøres fra i processen. Jeg ved, at der er nogen direkte API's til at gøre det. Jeg har undersøgt disse muligheder.
1. ctermid () - det kan være mislykket som pr manden sider
2. int devtty; hvis ((devtty \u003d open ( "/ dev / tty", O_RDWR)) <0) så er det en
daemon. Er der andre tilfælde, hvor dette kan ikke være sandt?
3. Siden setsid () bruges til at frigøre fra en terminal, måske GETSID () kan bruges til at kontrollere, om processen gruppeleder og session leder.
4. Se ud, hvis moderselskab pid er 1 eller ej. Kan en
daemon Processen har en ppid andre end 1?
Er der flere muligheder? I dont know, hvis der er en god måde at gøre dette, men hvad ville være den mest hensigtsmæssige måde?