관리-도구
편집 파일: _bootsubprocess.cpython-39.pyc
a R�fs � @ s. d Z ddlZG dd� d�Zdd� Zdd� ZdS ) z� Basic subprocess implementation for POSIX which only uses os functions. Only implement features required by setup.py to build C extension modules when subprocess is unavailable. setup.py is not used on Windows. � Nc @ s e Zd Zddd�Zdd� ZdS )�PopenNc C s || _ || _d | _d S )N)�_cmd�_env� returncode)�self�cmd�env� r �4/opt/alt/python39/lib64/python3.9/_bootsubprocess.py�__init__ s zPopen.__init__c C s� t �� }|dkrfzF| jd ur6t �| jd | j| j� nt �| jd | j� W t �d� q�t �d� 0 nt �|d�\}}t �|�| _ | j S )Nr � ) �os�forkr �execver �execv�_exit�waitpid�waitstatus_to_exitcoder )r �pid�_�statusr r r �wait s z Popen.wait)N)�__name__� __module__�__qualname__r r r r r r r s r c C s� g }dD ]2\}}t t|�t|�d �D ]}|�t|�� q&q|�d� d�|�}t| ttf�rd| }nt| t�rv| g}ndS |D ]8}t|t�s� dS |s� dS |D ]}||vr� dS q�q~dS )N))�a�z)�A�Z)�0�9r z./-� FT) �range�ord�append�chr�join� isinstance�tuple�list�str)r Z safe_chars�firstZlastZchZ check_strs�argr r r � _check_cmd$ s( r- c K s |rt t|���t| �s&td| ����d}t| t�s>d�| �} | � d|� �} z�t�| �}t� |�}|rztd| �d|����z6t |d��}|�� }W d � n1 s�0 Y W n ty� d}Y n0 W zt� |� W n ty� Y n0 n&zt� |� W n t�y Y n0 0 |S ) Nzunsupported command: zcheck_output.tmp� z >zCommand z returned non-zero exit status �rb� )�NotImplementedError�reprr- � ValueErrorr'