File: //usr/lib/python3/dist-packages/trac/util/__pycache__/daemon.cpython-310.pyc
o
�k�`� � @ sB d dl Z d dlZd dlZd dlZd dlZ ddd�Zdd� ZdS ) � N� /dev/null� c
s� � r�t j�� �� t j�� �rrt� d��!}zt|�� �}W n ty, t� d� � Y nw W d � n1 s7w Y zt �
|d� |sNt j�tjd �}t� d||f � W n t
yq } z
|jtjkrg� W Y d}~nd}~ww zt� d�� W d � n1 s�w Y W n! ty� } zddlm} t� d| |� � W Y d}~nd}~ww t �� }|dkr�t� d� t �d � t �|� t �� t �� }|dkr�t� d� tjtjfD ]}
|
�� q�t �|t j�}t �|t jt jB �}t �|t jt jB �}t �|tj�� � t �|tj�� � t �|tj�� � |||fD ]}t � |� �q� �rdt!j"t!j#fD ] }t!�!|t$� �q-� fd
d�}
t%�&|
� t� d��}|�'d
t �(� � W d � dS 1 �s]w Y dS dS )zFork a daemon process.�rbz2Invalid pid in file %s
Please remove it to proceedNr z!%s is already running with pid %sza+)�exception_to_unicodezError writing to pid file: %s�/c s t j�� �r
t �� � d S d S )N)�os�path�exists�remove� ��pidfiler �2/usr/lib/python3/dist-packages/trac/util/daemon.py�remove_pidfileW s �z!daemonize.<locals>.remove_pidfile�wbs %d))r r �abspathr �open�int�read�
ValueError�sys�exit�kill�basename�argv�OSError�errno�ESRCH�IOError�trac.util.textr �fork�chdir�umask�setsid�stdout�stderr�flush�O_RDONLY�O_RDWR�O_APPEND�dup2�stdin�fileno�close�signal�SIGTERM�SIGHUP�
handle_signal�atexit�register�write�getpid)r
�prognamer+ r$ r% r"