
    vKg-                         S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJr  S SK	r	Sr
Sr/ rS rSS.S\R                  4S	 jjrS
 r\ R"                  " \5        g)    N)PIPE)Popeni      c                    [         R                  " S5      u  p#[         R                  " [        U /UQ7SU0SS9R	                  5         UR                  5       n[        R                  U5        UR                  5         UR                  5         U$ )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        `/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/undetected_chromedriver/dprocess.pystart_detachedr      sx     %))%0NF  4 &!	
 eg
++-Cc
LLN
LLNJ    )r   r   c                   0 n[         R                  " 5       S:X  a  UR                  [        [        -  S9  OA[
        R                  S:  a  UR                  [        R                  S9  OUR                  SS9  [        U /UQ4[        [        [        S.UD6nUR                  UR                  5        [
        R                  " 5         g )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                      [          HU  n  [        R                  " [        5      R	                  SU -  5        [
        R                  " U [        R                  5        MW     g !    M_  = f)Nzcleaning up pid %d )	r   logging	getLogger__name__debugr,   killsignalSIGTERM)r   s    r   _cleanupr9   A   sL    	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>      sd       	     
 &  
8 GK /C/C &  r   