
    ,h-                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	Z	dZ
dZg Zd Zdddej                  fd	Zd
 Z e j"                  e       y)    N)PIPE)Popeni      c                 "   t        j                  d      \  }}t        j                  t        | g|d|id      j	                          |j                         }t        j                  |       |j                          |j                          |S )z
    Starts a fully independent subprocess (with no parent)
    :param executable: executable
    :param args: arguments to the executable, eg: ['--param1_key=param1_val', '-vvv' ...]
    :return: pid of the grandchild process
    FwriterT)targetargskwargsdaemon)	multiprocessingPipeProcess_start_detachedstartrecv
REGISTEREDappendclose)
executabler	   readerr   pids        b/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/undetected_chromedriver/dprocess.pystart_detachedr      sz     %))%0NFF  4 &!	
 eg
++-Cc
LLN
LLNJ    )r   r   c                   i }t        j                         dk(  r|j                  t        t        z         nFt
        j                  dk  r!|j                  t        j                         n|j                  d       t        | g|ft        t        t        d|}|j                  |j                         t        j                          y )NWindows)creationflags)      )
preexec_fnT)start_new_session)stdinstdoutstderr)platformsystemupdateDETACHED_PROCESSCREATE_NEW_PROCESS_GROUPsysversion_infoossetsidr   r   sendr   exit)r   r   r	   r
   ps        r   r   r   .   s    FI%$47O$OP			F	"+- 	z!D!Rd4R6RA KKHHJr   c                      t         D ]R  } 	 t        j                  t              j	                  d| z         t        j                  | t        j                         T y #  Y ZxY w)Nzcleaning up pid %d )	r   logging	getLogger__name__debugr,   killsignalSIGTERM)r   s    r   _cleanupr9   A   sQ     	h'--.Cc.IJGGC(	s   AAA!)atexitr2   r   r,   r%   r7   
subprocessr   r   r*   r)   r(   r   r   r   r   r9   register r   r   <module>r>      sf       	     
 &  
8 GK /C/C &  r   