OwlCyberSecurity - MANAGER
Edit File: subprocess.cpython-38.opt-1.pyc
U ����e5d�����������������������@���s����d�Z�ddlZddlZddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlm Z �ej Z ejZejZG�d d ��d ej ej�ZG�dd��d�Zddddejfd d�Zddddejd�dd�ZdS�))�create_subprocess_exec�create_subprocess_shell�����N����)�events)� protocols)�streams)�tasks)�loggerc�����������������������sX���e�Zd�ZdZ��fdd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Z���ZS�)�SubprocessStreamProtocolz0Like StreamReaderProtocol, but for a subprocess.c��������������������sH���t���j|d��||�_d��|�_�|�_|�_d�|�_d|�_g�|�_|�j � ��|�_d�S�)N��loopF)�super�__init__�_limit�stdin�stdout�stderr� _transport�_process_exited� _pipe_fds�_loopZ create_future� _stdin_closed)�self�limitr����� __class__���*/usr/lib64/python3.8/asyncio/subprocess.pyr������s����z!SubprocessStreamProtocol.__init__c�����������������C���sn���|�j�jg}|�jd�k r&|�d|�j����|�jd�k rB|�d|�j����|�jd�k r^|�d|�j����d�d�|��S�)Nzstdin=zstdout=zstderr=z<{}>� )r����__name__r����appendr���r����format�join)r����infor���r���r����__repr__���s���� z!SubprocessStreamProtocol.__repr__c�����������������C���s����||�_�|�d�}|d�k rDtj|�j|�jd�|�_|�j�|��|�j� d��|�d�}|d�k r�tj|�j|�jd�|�_ |�j �|��|�j� d��|�d�}|d�k r�tj||�d�|�jd�|�_d�S�)Nr����r���r�������r���)�protocol�readerr���) r����get_pipe_transportr����StreamReaderr���r���r���Z set_transportr���r ���r����StreamWriterr���)r���� transportZstdout_transportZstderr_transportZstdin_transportr���r���r����connection_made)���s,���� � � �z(SubprocessStreamProtocol.connection_madec�����������������C���s:���|dkr|�j�}n|dkr |�j}nd�}|d�k r6|�|��d�S�)Nr���r&���)r���r���Z feed_data)r����fd�datar(���r���r���r����pipe_data_receivedA���s����z+SubprocessStreamProtocol.pipe_data_receivedc�����������������C���s����|dkrN|�j�}|d�k r|����|��|��|d�kr>|�j�d���n|�j�|��d�S�|dkr^|�j}n|dkrn|�j}nd�}|d�k r�|d�kr�|����n |�|��||�j kr�|�j � |��|�����d�S�)Nr���r���r&���)r����closeZconnection_lostr���Z set_resultZ set_exceptionr���r���Zfeed_eofr����remove�_maybe_close_transport)r���r.����exc�piper(���r���r���r����pipe_connection_lostK���s*���� z-SubprocessStreamProtocol.pipe_connection_lostc�����������������C���s���d|�_�|�����d�S�)NT)r���r3����r���r���r���r����process_exitedf���s����z'SubprocessStreamProtocol.process_exitedc�����������������C���s(���t�|�j�dkr$|�jr$|�j����d�|�_d�S�)Nr���)�lenr���r���r���r1���r7���r���r���r���r3���j���s���� z/SubprocessStreamProtocol._maybe_close_transportc�����������������C���s���||�j�kr|�jS�d�S��N)r���r���)r����streamr���r���r����_get_close_waitero���s���� z*SubprocessStreamProtocol._get_close_waiter) r���� __module__�__qualname__�__doc__r���r$���r-���r0���r6���r8���r3���r<���� __classcell__r���r���r���r���r ������s��� r ���c�������������������@���sj���e�Zd�Zdd��Zdd��Zedd���Zdd��Zd d ��Zdd��Z d d��Z dd��Zdd��Zdd��Z ddd�ZdS�)�Processc�����������������C���s8���||�_�||�_||�_|j|�_|j|�_|j|�_|���|�_d�S�r:���)r���Z _protocolr���r���r���r���Zget_pid�pid)r���r,���r'���r���r���r���r���r���u���s����zProcess.__init__c�����������������C���s���d|�j�j��d|�j��d�S�)N�<r����>)r���r���rB���r7���r���r���r���r$���~���s����zProcess.__repr__c�����������������C���s ���|�j����S�r:���)r���Zget_returncoder7���r���r���r���� returncode����s����zProcess.returncodec���������������������s���|�j����I�dH�S�)z?Wait until the process exit and return the process return code.N)r���Z_waitr7���r���r���r����wait����s����zProcess.waitc�����������������C���s���|�j��|��d�S�r:���)r����send_signal)r����signalr���r���r���rG�������s����zProcess.send_signalc�����������������C���s���|�j�����d�S�r:���)r���� terminater7���r���r���r���rI�������s����zProcess.terminatec�����������������C���s���|�j�����d�S�r:���)r����killr7���r���r���r���rJ�������s����zProcess.killc�������������� �������s����|�j����}|�j�|��|r,t�d|�t|���z|�j���I�d�H��W�n8�tt fk rx�}�z|rht�d|�|��W�5�d�}~X�Y�nX�|r�t�d|���|�j� ���d�S�)Nz%%r communicate: feed stdin (%s bytes)z%r communicate: stdin got %rz%r communicate: close stdin)r���� get_debugr����writer ����debugr9���Zdrain�BrokenPipeError�ConnectionResetErrorr1���)r����inputrM���r4���r���r���r����_feed_stdin����s ���� ��� zProcess._feed_stdinc���������������������s���d�S�r:���r���r7���r���r���r����_noop����s����z Process._noopc���������������������s����|�j��|�}|dkr|�j}n|�j}|�j���rJ|dkr8dnd}t�d|�|��|���I�d�H�}|�j���r�|dkrndnd}t�d|�|��|� ���|S�)Nr&���r���r���r���z%r communicate: read %sz%r communicate: close %s) r���r)���r���r���r���rK���r ���rM����readr1���)r���r.���r,���r;����name�outputr���r���r����_read_stream����s���� zProcess._read_streamNc���������������������s����|d�k r|���|�}n|����}|�jd�k r2|��d�}n|����}|�jd�k rP|��d�}n|����}tj||||�jd�I�d�H�\}}}|����I�d�H��||fS�)Nr���r&���r���) rQ���rR���r���rV���r���r���Zgatherr���rF���)r���rP���r���r���r���r���r���r����communicate����s���� �zProcess.communicate)N)r���r=���r>���r���r$����propertyrE���rF���rG���rI���rJ���rQ���rR���rV���rW���r���r���r���r���rA���t���s��� rA���c����������� ����������sb����d�krt�����ntjdtdd�����fdd�}�j||�f|||d�|��I�d�H�\}} t|| ��S�)N�ZThe loop argument is deprecated since Python 3.8 and scheduled for removal in Python 3.10.r&����� stacklevelc����������������������s���t����d�S��Nr%����r ���r���r%���r���r����<lambda>����s����z)create_subprocess_shell.<locals>.<lambda>�r���r���r���)r����get_event_loop�warnings�warn�DeprecationWarningZsubprocess_shellrA���) �cmdr���r���r���r���r����kwds�protocol_factoryr,���r'���r���r%���r���r�������s$���� �����r���)r���r���r���r���r���c��������������������sf����d�krt�����ntjdtdd�����fdd�}�j||�f|�|||d�|��I�d�H�\} } t| | ��S�)NrY���r&���rZ���c����������������������s���t����d�S�r\���r]���r���r%���r���r���r^�������s����z(create_subprocess_exec.<locals>.<lambda>r_���)r���r`���ra���rb���rc���Zsubprocess_execrA���)Zprogramr���r���r���r���r����argsre���rf���r,���r'���r���r%���r���r�������s(���� ������r���)�__all__� subprocessra�����r���r���r���r����logr ����PIPEZSTDOUTZDEVNULLZFlowControlMixinZSubprocessProtocolr ���rA���Z_DEFAULT_LIMITr���r���r���r���r���r����<module>���s.����bV�� ��