Tengo un escenario en el que tengo que encontrar si un proceso es una
demonio proceso o no. Esta verificación se debe hacer desde dentro del proceso. Sé que no hay directo API para hacerlo. He explorado estas opciones.
1. ctermid () - esto puede ser que pierda por las páginas de manual
2. int devtty; if ((devtty \u003d open ( "/ dev / tty", O_RDWR)) <0) entonces es un
demonio. ¿Existen otros casos, cuando este no puede ser verdad?
3. Desde setsid () se utiliza para separar de una terminal, tal vez getsid () puede utilizarse para comprobar el proceso de líder de grupo y líder del período de sesiones.
4. Mira si el padre es el 1 de pid o no. ¿Puede una
demonio PPID un proceso distinto de 1?
¿Hay más opciones? No sé si hay una mejor manera de hacer esto, pero ¿cuál sería la forma más adecuada?