Your IP : 216.73.216.213
�XW�! �
@ s d Z d d l m Z d d l Z d d l Z d Z d Z d Z d Z d Z d Z d Z
e e d
� rs e j Z
n d Z
d d
� Z e d k re � Z d e e j � e j � e j � e j d � e j � e j � e j � e j � f Z e d d � j e d � e j e � d S)a Disk And Execution MONitor (Daemon)
Configurable daemon behaviors:
1.) The current working directory set to the "/" directory.
2.) The current file creation mode mask set to 0.
3.) Close all open files (1024).
4.) Redirect standard I/O streams to "/dev/null".
A failed call to fork() now raises an exception.
References:
1) Advanced Programming in the Unix Environment: W. Richard Stevens
2) Unix Programming Frequently Asked Questions:
http://www.erlenstar.demon.co.uk/unix/faq_toc.html
� )�_exitNzChad J. Schroederz$Copyright (C) 2005 Chad J. Schroederz$Id$z0.2�/i �devnullz /dev/nullc ( C s� y t j � } WnA t k
rS } z! t d | j | j f � � WYd d } ~ Xn X| d k r� t j � y t j � } WnA t k
r� } z! t d | j | j f � � WYd d } ~ Xn X| d k r� t j t � t j t
� q� t d � n
t d � d d l } | j
| j � d } | | j k r5t } x= t d | � D], } y t j | � WqEt k
rpYqEXqEWt j t t j � t j d d � t j d d � d S)zaDetach a process from the controlling terminal and run it in the
background as a daemon.
z%s [%d]Nr � � )�os�fork�OSError� Exception�strerror�errno�setsid�chdir�WORKDIR�umask�UMASKr �resourceZ getrlimitZ
RLIMIT_NOFILEZ
RLIM_INFINITY�MAXFD�range�close�open�REDIRECT_TO�O_RDWR�dup2)�pid�errr ZmaxfdZ file_desc� r �E/opt/alt/python35/lib/python3.5/site-packages/sentrylogs/daemonize.py�
create_daemon, s8 /
/
r �__main__z�
return code = %s
process ID = %s
parent process ID = %s
process group ID = %s
session ID = %s
user ID = %s
effective user ID = %s
real group ID = %s
effective group ID = %s
zcreateDaemon.log�w�
)�__doc__r r �sys�
__author__�
__copyright__Z__revision__�__version__r r r �hasattrr r r �__name__ZRET_CODE�getpid�getppid�getpgrp�getsid�getuid�geteuid�getgid�getegidZPROC_PARAMSr �write�exitr r r r �<module> s( � -+