o
    i                     @   sT   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 deZd	S )
    )abstractmethod)Signals)Optional   )AsyncResource)ByteReceiveStreamByteSendStreamc                   @   s   e Zd ZdZedefddZedddZeddd	Zed
e	ddfddZ
eedefddZeedee fddZeedee fddZeedee fddZeedee fddZdS )Processz5An asynchronous version of :class:`subprocess.Popen`.returnc                    s   dS )z^
        Wait until the process exits.

        :return: the exit code of the process
        N selfr   r   R/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/anyio/abc/_subprocesses.pywait   s    zProcess.waitNc                 C      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   r   r   r   	terminate       zProcess.terminatec                 C   r   )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   r   r   r   kill   r   zProcess.killsignalc                 C   r   )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   r   r   r   send_signal*   r   zProcess.send_signalc                 C   r   )zThe process ID of the process.Nr   r   r   r   r   pid4   r   zProcess.pidc                 C   r   )zw
        The return code of the process. If the process has not yet terminated, this will be
        ``None``.
        Nr   r   r   r   r   
returncode9   r   zProcess.returncodec                 C   r   )z1The stream for the standard input of the process.Nr   r   r   r   r   stdinA   r   zProcess.stdinc                 C   r   )z2The stream for the standard output of the process.Nr   r   r   r   r   stdoutF   r   zProcess.stdoutc                 C   r   )z8The stream for the standard error output of the process.Nr   r   r   r   r   stderrK   r   zProcess.stderr)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	   	   s2    

	r	   N)abcr   r   r   typingr   
_resourcesr   _streamsr   r   r	   r   r   r   r   <module>   s    