Se programmate applicativi unix-like talvolta dovrete ricorrere alla demonizzazione di una funzione o dell'intero programma.
import os
def demone():
if os.fork():
os._exit(0)
os.setsid()
if os.fork():
os._exit(0)
os.umask(077)
null=os.open('/dev/null', os.O_RDWR)
for i in range(3):
try:
os.dup2(null, i)
except OSError, e:
if e.errno != errno.EBADF:
raise
os.close(null)
Questo stratagemma vi permette, richiamando la funzione demone(), di demonizzare il vostro software o parti di esso.