Ich habe ein Szenario, wo ich zu finden, wenn ein Prozess ist ein
Daemon Prozess oder nicht. Diese Prüfung getan werden muss, aus dem Prozess. Ich weiß, es gibt keine direkte API's zu tun. Ich habe diese Optionen geprüft.
1. ctermid () - kann dies erfolglos nach dem Mann Seiten
2. int devtty; if ((devtty \u003d open ( "/ dev / tty", O_RDWR)) <0) dann ist es ein
Daemon. Gibt es andere Fälle, in denen dies nicht wahr?
3. Seit setsid () wird verwendet, um die Zuordnung von einem Terminal aus, vielleicht GETSID () kann verwendet werden, um zu überprüfen, ob Prozess Gruppenleiter und Session-Leiter.
4. Sehen Sie, wenn ein Elternteil pid 1 ist oder nicht. Kann ein
Daemon Prozess eine PPID andere als 1?
Gibt es weitere Optionen? Ich weiß nicht, wenn es eine beste Weg, dies zu tun, aber was wäre der beste Weg?