
    "d                     b    d dl mZ d dlmZ d dlmZ ddlmZ ddlm	Z	m
Z
  G d de          Zd	S )
    )abstractmethod)Signals)Optional   )AsyncResource)ByteReceiveStreamByteSendStreamc                      e Zd ZdZedefd            Zedd            Zedd            Zede	ddfd            Z
eedefd	                        Zeedee         fd
                        Zeedee         fd                        Zeedee         fd                        Zeedee         fd                        ZdS )Processz5An asynchronous version of :class:`subprocess.Popen`.returnc                 
   K   dS )z^
        Wait until the process exits.

        :return: the exit code of the process
        N selfs    ;D:\api_v1\venv\Lib\site-packages\anyio/abc/_subprocesses.pywaitzProcess.wait   s
            Nc                     dS )z
        Terminates the process, gracefully if possible.

        On Windows, this calls ``TerminateProcess()``.
        On POSIX systems, this sends ``SIGTERM`` to the process.

        .. seealso:: :meth:`subprocess.Popen.terminate`
        Nr   r   s    r   	terminatezProcess.terminate         r   c                     dS )z
        Kills the process.

        On Windows, this calls ``TerminateProcess()``.
        On POSIX systems, this sends ``SIGKILL`` to the process.

        .. seealso:: :meth:`subprocess.Popen.kill`
        Nr   r   s    r   killzProcess.kill   r   r   signalc                     dS )z
        Send a signal to the subprocess.

        .. seealso:: :meth:`subprocess.Popen.send_signal`

        :param signal: the signal number (e.g. :data:`signal.SIGHUP`)
        Nr   )r   r   s     r   send_signalzProcess.send_signal*   r   r   c                     dS )zThe process ID of the process.Nr   r   s    r   pidzProcess.pid4   r   r   c                     dS )zw
        The return code of the process. If the process has not yet terminated, this will be
        ``None``.
        Nr   r   s    r   
returncodezProcess.returncode9   r   r   c                     dS )z1The stream for the standard input of the process.Nr   r   s    r   stdinzProcess.stdinA   r   r   c                     dS )z2The stream for the standard output of the process.Nr   r   s    r   stdoutzProcess.stdoutF   r   r   c                     dS )z8The stream for the standard error output of the process.Nr   r   s    r   stderrzProcess.stderrK   r   r   )r   N)__name__
__module____qualname____doc__r   intr   r   r   r   r   propertyr   r   r   r	   r!   r   r#   r%   r   r   r   r   r   	   s       ??C    ^    ^    ^ ' d    ^ -S - - - ^ X- HSM    ^ X @x/ @ @ @ ^ X@ A!23 A A A ^ XA G!23 G G G ^ XG G Gr   r   N)abcr   r   r   typingr   
_resourcesr   _streamsr   r	   r   r   r   r   <module>r0      s                      % % % % % % 7 7 7 7 7 7 7 7EG EG EG EG EGm EG EG EG EG EGr   