OwlCyberSecurity - MANAGER
Edit File: process.cpython-38.opt-1.pyc
U ����e5d�.����������������������@���s8��d�dddgZ�ddlZddlZddlZddlZddlZddlmZ�zej� e� ���ZW�n�ek rl���dZY�nX�dd��Z dd��Zd d��Zd d��ZG�dd���d�e�ZG�d d��de�ZG�dd��de�ZG�dd��de�Zdae��ae�d�ae��a[i�Zeej� ���D�]0\Z!Z"e!dd��dkr�de!kr�de!���ee"�<�q�e��Z#dS�)�BaseProcess�current_process�active_children�parent_process�����N)�WeakSetc�������������������C���s���t�S�)z@ Return process object representing the current process )�_current_process��r���r����//usr/lib64/python3.8/multiprocessing/process.pyr���%���s����c�������������������C���s���t����tt�S�)zN Return list of process objects corresponding to live child processes )�_cleanup�list� _childrenr���r���r���r ���r���+���s����c�������������������C���s���t�S�)z? Return process object representing the parent process )�_parent_processr���r���r���r ���r���3���s����c������������������C���s*���t�t�D�]}�|�j���d�k rt�|���qd�S��N)r���r����_popen�poll�discard)�pr���r���r ���r ���=���s����r ���c�������������������@���s����e�Zd�ZdZdd��Zddddi�fdd�dd�Zd d ��Zdd��Zd d��Zdd��Z dd��Z d,dd�Zdd��Zdd��Z edd���Zejdd���Zedd���Zejdd���Zedd ���Zejd!d ���Zed"d#���Zed$d%���ZeZed&d'���Zd(d)��Zd-d*d+�ZdS�).r���z� Process objects represent activity that is run in a separate process The class is analogous to `threading.Thread` c�����������������C���s���t��d�S�r���)�NotImplementedError��selfr���r���r ����_PopenM���s����zBaseProcess._PopenNr���)�daemonc����������������C���s����t�t�}tj|f�|�_tj���|�_t���|�_tj |�_ d�|�_d|�_||�_ t|�|�_t|�|�_|p�t|��jd�d�dd��|�jD����|�_|d�k r�||�_t�|���d�S�)NF�-�:c�����������������s���s���|�]}t�|�V��qd�S�r���)�str)�.0�ir���r���r ���� <genexpr>^���s�����z'BaseProcess.__init__.<locals>.<genexpr>)�next�_process_counterr���� _identity�_config�copy�os�getpid�_parent_pid�name�_parent_namer����_closed�_target�tuple�_args�dict�_kwargs�type�__name__�join�_namer���� _dangling�add)r����group�targetr&����args�kwargsr����countr���r���r ����__init__P���s ���� �zBaseProcess.__init__c�����������������C���s���|�j�rtd��d�S�)Nzprocess object is closed)r(���� ValueErrorr���r���r���r ���� _check_closedc���s����zBaseProcess._check_closedc�����������������C���s���|�j�r|�j�|�j|�j��dS�)zQ Method to be run in sub-process; can be overridden in sub-class N)r)���r+���r-���r���r���r���r ����rung���s����zBaseProcess.runc�����������������C���s>���|������t���|��|��|�_|�jj|�_|�`|�`|�`t � |���dS�)z% Start child process N)r;���r ���r���r����sentinel� _sentinelr)���r+���r-���r���r3���r���r���r���r ����startn���s���� zBaseProcess.startc�����������������C���s���|������|�j����dS�)zT Terminate process; sends SIGTERM signal or uses TerminateProcess() N)r;���r���� terminater���r���r���r ���r@�������s����zBaseProcess.terminatec�����������������C���s���|������|�j����dS�)zT Terminate process; sends SIGKILL signal or uses TerminateProcess() N)r;���r����killr���r���r���r ���rA�������s����zBaseProcess.killc�����������������C���s*���|������|�j�|�}|dk r&t�|���dS�)z5 Wait until child process terminates N)r;���r����waitr���r���)r����timeout�resr���r���r ���r0�������s����zBaseProcess.joinc�����������������C���sJ���|������|�tkrdS�|�jdkr"dS�|�j���}|dkr8dS�t�|���dS�dS�)z1 Return whether process is alive TNF)r;���r���r���r���r���r���)r���� returncoder���r���r ����is_alive����s���� zBaseProcess.is_alivec�����������������C���sH���|�j�dk r>|�j����dkr td��|�j�����d|�_�|�`t�|���d|�_dS�)z� Close the Process object. This method releases resources held by the Process object. It is an error to call this method if the child process is still running. Nz^Cannot close a process while it is still running. You should first call join() or terminate().T)r���r���r:����closer>���r���r���r(���r���r���r���r ���rG�������s���� zBaseProcess.closec�����������������C���s���|�j�S�r����r1���r���r���r���r ���r&�������s����zBaseProcess.namec�����������������C���s ���||�_�d�S�r���rH���)r���r&���r���r���r ���r&�������s����c�����������������C���s���|�j��dd�S�)z4 Return whether process is a daemon r���F)r!����getr���r���r���r ���r�������s����zBaseProcess.daemonc�����������������C���s���||�j�d<�dS�)z1 Set whether process is a daemon r���N�r!���)r���Zdaemonicr���r���r ���r�������s����c�����������������C���s ���|�j�d�S�)N�authkeyrJ���r���r���r���r ���rK�������s����zBaseProcess.authkeyc�����������������C���s���t�|�|�jd<�dS�)z2 Set authorization key of process rK���N)�AuthenticationStringr!���)r���rK���r���r���r ���rK�������s����c�����������������C���s"���|������|�jdkr|�jS�|�j���S�)zM Return exit code of process or `None` if it has yet to stop N)r;���r���r���r���r���r���r ����exitcode����s���� zBaseProcess.exitcodec�����������������C���s*���|������|�tkrt���S�|�jo$|�jjS�dS�)zU Return identifier (PID) of process or `None` if it has yet to start N)r;���r���r#���r$���r����pidr���r���r���r ����ident����s����zBaseProcess.identc�����������������C���s4���|������z|�jW�S��tk r.���td�d�Y�nX�dS�)z{ Return a file descriptor (Unix) or handle (Windows) suitable for waiting for process termination. zprocess not startedN)r;���r>����AttributeErrorr:���r���r���r���r ���r=�������s ����zBaseProcess.sentinelc�����������������C���s����d�}|�t�krd}nL|�jrd}n@|�jt���kr2d}n,|�jd�krBd}n|�j���}|d�k rZd}nd}t|��jd|�j �g}|�jd�k r�|� d|�jj���|� d|�j���|� |��|d�k r�t� ||�}|� d |���|�jr�|� d ��dd�|��S�) NZstarted�closed�unknown�initialZstoppedzname=%rzpid=%sz parent=%szexitcode=%sr���z<%s>� )r���r(���r%���r#���r$���r���r���r.���r/���r1����appendrN����_exitcode_to_namerI���r���r0���)r���rM���Zstatus�infor���r���r ����__repr__��s0���� zBaseProcess.__repr__c�������������� ���C���sv��ddl�m}m}��z>z�|�jd�k r,|�|�j��t � d�at��a |����t}|�at|�j|�j|�atjrnt�������z|j����|����W�5�~X�|�d��z|�����d}W�5�|����X�W�n��tk �r�}�zJ|js�d}n:t|jd�t�r�|jd�}nt j!�"t#|jd��d���d}W�5�d�}~X�Y�n2���d}dd�l$}t j!�"d|�j%���|�&���Y�nX�W�5�t����|�d|���|����X�|S�)N����)�util�contextz process exiting with exitcode %dz child process calling self.run()r���� zProcess %s: )'��rZ���r[���� threadingZ _shutdownrW���Z_flush_std_streamsZ _start_methodZ_force_start_method� itertoolsr8���r����setr���Z_close_stdinr����_ParentProcessr'���r%���r ���Z_HAVE_THREAD_NATIVE_IDZmain_threadZ_set_native_idZ_finalizer_registry�clearZ_run_after_forkersZ_exit_functionr<���� SystemExitr6���� isinstance�int�sys�stderr�writer���� tracebackr&���� print_exc)r���Zparent_sentinelrZ���r[���rM���Zold_process�eri���r���r���r ���� _bootstrap"��sR���� ��� zBaseProcess._bootstrap)N)N)r/���� __module__�__qualname__�__doc__r���r9���r;���r<���r?���r@���rA���r0���rF���rG����propertyr&����setterr���rK���rM���rO���rN���r=���rX���rl���r���r���r���r ���r���G���sD���� c�������������������@���s���e�Zd�Zdd��ZdS�)rL���c�����������������C���s,���ddl�m}�|��d�krtd��tt|��ffS�)NrY���)�get_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r[���rr���� TypeErrorrL����bytes)r���rr���r���r���r ���� __reduce__X��s���� �zAuthenticationString.__reduce__N)r/���rm���rn���ru���r���r���r���r ���rL���W��s���rL���c�������������������@���s6���e�Zd�Zdd��Zdd��Zedd���Zd dd �ZeZdS�)ra���c�����������������C���s4���d|�_�||�_||�_d�|�_d�|�_d|�_||�_i�|�_d�S�)Nr���F)r ���r1����_pidr%���r���r(���r>���r!���)r���r&���rN���r=���r���r���r ���r9���h��s����z_ParentProcess.__init__c�����������������C���s���ddl�m}�||�jgdd��S�)Nr����rB����rC����Zmultiprocessing.connectionrB���r>���)r���rB���r���r���r ���rF���r��s����z_ParentProcess.is_alivec�����������������C���s���|�j�S�r���)rv���r���r���r���r ���rO���v��s����z_ParentProcess.identNc�����������������C���s ���ddl�m}�||�jg|d��dS�)z6 Wait until parent process terminates r���rw���rx���Nry���)r���rC���rB���r���r���r ���r0���z��s����z_ParentProcess.join)N) r/���rm���rn���r9���rF���rp���rO���r0���rN���r���r���r���r ���ra���f��s��� ra���c�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)�_MainProcessc�����������������C���s8���d|�_�d|�_d�|�_d�|�_d|�_tt�d��dd�|�_d�S�)Nr���ZMainProcessF� ���z/mp)rK���Z semprefix) r ���r1���r%���r���r(���rL���r#����urandomr!���r���r���r���r ���r9������s�����z_MainProcess.__init__c�����������������C���s���d�S�r���r���r���r���r���r ���rG������s����z_MainProcess.closeN)r/���rm���rn���r9���rG���r���r���r���r ���rz������s���rz���rY�������ZSIG�_r���)$�__all__r#���rf����signalr_���r^���Z_weakrefsetr����path�abspath�getcwdZORIGINAL_DIR�OSErrorr���r���r���r ����objectr���rt���rL���ra���rz���r ���r���r8���r���r`���r���rV���r����__dict__�itemsr&���Zsignumr2���r���r���r���r ����<module> ���s@���� ��!