
    ,h                     F    d dl Z d dlZd dlZddlmZ  G d de      ZddZy)    N   )Processc                       e Zd Zy)PsNotAvailableN)__name__
__module____qualname__     V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/shellingham/posix/ps.pyr   r      s    r   r   c              #     K   	 g d}t        j                  |      }t        |t              s;t        j                         xs t        j                         }|j                  |      }i }|j                  d      D ]Y  }	 |j                         j                  dd      \  }}	}
t!        d |
j                  d      D              }
t%        |
||	      ||<   [ t'        |      D ]  }	 ||    }| |j*                  }  y# t        $ r.}|j                  t        j                  k7  r t        d      d}~wt         j                  $ r%}|j                  j                         sY d}~y d}~ww xY w# t"        $ r Y w xY w# t(        $ r Y  yw xY ww)	z7Try to look up the process tree via the output of `ps`.)psz-ww-ozpid=r   zppid=r   zargs=zps not foundN
   c              3   <   K   | ]  }|j                           y w)N)strip).0as     r   	<genexpr>z'iter_process_parents.<locals>.<genexpr>(   s     <q<s    )argspidppid)
subprocesscheck_outputOSErrorerrnoENOENTr   CalledProcessErroroutputr   
isinstancestrsysgetfilesystemencodinggetdefaultencodingdecodesplittuple
ValueErrorr   rangeKeyErrorr   )r   	max_depthcmdr!   eencodingprocesses_mappingline_pidr   r   _processs                r   iter_process_parentsr6      sy    G((- fc",,.J#2H2H2Jx(T" J		#zz|11$:D$ <DJJsO<<D #*tD"I$J 9 	',G ll9  -77ell"^,,((  xx~~(  		  		s   FC> A!F?AE.!F&E=+F>	E+)D00E+E& F%E&&E++F.	E:7F9E::F=	F
F	F

F)
   )r   r   r$   _corer   EnvironmentErrorr   r6   r
   r   r   <module>r:      s#      
 	% 	'r   