Ik heb een scenario waar ik moet zoeken als er een proces is een
daemon proces of niet. Deze controle moet worden gedaan binnen het proces. Ik weet dat er geen directe API's te doen. Ik heb deze opties verkend.
1. ctermid () - dit kan worden afgewezen als in de man pagina's
2. int devtty; if ((devtty \u003d open ( "/ dev / tty", O_RDWR)) <0) dan is het een
daemon. Zijn er nog andere gevallen, waar dit kan niet waar zijn?
3. Sinds setsid () wordt gebruikt voor het losmaken van een terminal, misschien GETSID () kan worden gebruikt om te controleren of er proces-fractieleider en sessie leider.
4. Kijk als ouder pid 1 of niet. Kan een
daemon proces hebben een PPID andere dan 1?
Zijn er meer mogelijkheden? I dont weet wanneer er een beste manier om dit te doen, maar wat zou de meest geschikte manier?