
    Αi                     P    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/r " S S5      rg)    NTRAINER_IP_PORT_LISTPADDLE_TRAINER_ENDPOINTSc                       \ rS rSr\R
                  \R                  \R                  SSS4S jr	S r
S rS rS	 rS
 rSS jrSS jrSrg)ProcessContext   TNFc                     Xl         X l        X`l        X0l        X@l        [
        R                  S:w  a  UOSU l        S U l        S U l	        Xpl
        g )NntF)_cmd_env_preexec_fn_stdout_stderrosname_group_proc_code_shell)selfcmdenvouterrgroup
preexec_fnshells           o/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/distributed/launch/utils/process_context.py__init__ProcessContext.__init__   sD     		%!ww$eE

    c           	      v   U R                   (       a  [        R                  OS nU R                  S   n[        R                  " USS9  U R                  R                  S5      nUb  [        U5      n[        [        R                  R                  USU S35      5      nSU0n[        [        R                  " SS	5      5      nU R                  R                  5        H$  u  pxU[        ;  d  [        U5      U:  d  M   XU'   M&     [        US
5       n	[        R                   " [#        U R                  5      U	SSS9  S S S 5        OU R                  n[$        R&                  " U R(                  UU R*                  U R,                  U R.                  =(       d    UU R0                  S9U l        g ! , (       d  f       Nh= f)NPADDLE_LOG_DIRT)exist_okPADDLE_TRAINER_IDzbackup_env.z.jsonPADDLE_BACKUP_ENV_PATHPADDLE_ENV_LIMIT_LENi  w   )indent	sort_keys)r   stdoutstderrr   r   )r   r   setsidr   makedirsgetintstrpathjoingetenvitemsLIMIT_LEN_ENVSlenopenjsondumpdict
subprocessPopenr
   r   r   r   r   r   )
r   pre_fnlog_dirrankbackup_env_pathenvsmax_lenkvfs
             r   _startProcessContext._start.   sM   "kkt)),-
Gd+yy}}01t9D!WD6&?@O -o>D"))$:EBCG		)N*c!fw.>G * os+q		$tyy/1Q$G ,+ 99D%%II<<<<''16++

 ,+s   +F**
F8c                      U R                   R                  5       (       d  U R                   R                  5         U R                  R                  5       (       d  U R                  R                  5         g g !    g = fN)r   isattycloser   r   s    r   
_close_stdProcessContext._close_stdN   s\    	<<&&((""$<<&&((""$ )	s   A2A6 6A:c                 `    U R                   =(       a    U R                   R                  5       S L $ rJ   r   pollrM   s    r   aliveProcessContext.aliveX   s!    zz7djjoo/477r    c                 \    U R                   (       a  U R                   R                  5       $ S $ rJ   rQ   rM   s    r   	exit_codeProcessContext.exit_code[   s    $(JJtzz 8D8r    c                 $    U R                  5         g rJ   )rG   rM   s    r   startProcessContext.start^   s    r    c                    [        U5       H  nU R                  5       (       a  U R                  (       aN  [        R                  " [        R
                  " U R                  R                  5      [        R                  5        OU R                  R                  5         [        R                  " S5        M    O   U(       a/  U R                  5       (       a  U R                  R                  5         U R                  5         U R                  5       $ )Ng?)rangerS   r   r   killpggetpgidr   pidsignalSIGTERM	terminatetimesleepkillrN   )r   force	max_retryis       r   rb   ProcessContext.terminatea   s    y!Azz||;;IIbjj8&..IJJ((*

3 " TZZ\\JJOOzz|r    c                 :    U R                   R                  U5        g rJ   )r   wait)r   timeouts     r   rk   ProcessContext.waits   s    

 r    )	r
   r   r   r   r   r   r   r   r   )F   rJ   )__name__
__module____qualname____firstlineno__r   environsysr+   r,   r   rG   rN   rS   rV   rY   rb   rk   __static_attributes__ r    r   r   r      sK     JJJJJJ(
@89$!r    r   )r9   r   r`   r<   rt   rc   r6   r   rv   r    r   <module>rw      s0     	   
 (*DE[! [!r    