o
    2g                     @  s   U d dl mZ d dlZd dlmZmZ ejdkr@d dlZd dlZd dl	m
Z
mZ edZejjZejZded< ejZd	ed
< nd dlZd dlZdddZdddZdS )    )annotationsN)AnyCallablewin32)DWORDHANDLEi   z#Callable[[DWORD, int, int], HANDLE]OpenProcesszCallable[[HANDLE, Any], int]GetExitCodeProcesspidintreturnboolc                 C  s^   t jdkrt }ttd| }t|t| |jdkS z	t	
| d W dS  ty.   Y dS w )zIs the process alive?r   r   i  FT)sysplatformr   r   !PROCESS_QUERY_LIMITED_INFORMATIONr	   ctypesbyrefvalueoskillOSError)r
   statushandle r   E/home/garg/my-data/venv/lib/python3.10/site-packages/mypy/dmypy_os.pyalive   s   

r   Nonec                 C  s2   t jdkrtd|  d dS t| tj dS )zKill the process.r   ztaskkill /pid z /f /tN)r   r   
subprocesscheck_outputr   r   signalSIGKILL)r
   r   r   r   r   %   s   
r   )r
   r   r   r   )r
   r   r   r   )
__future__r   r   typingr   r   r   r   r   ctypes.wintypesr   r   c_ulongr   windllkernel32r   __annotations__r	   r   r   r   r   r   r   r   r   <module>   s    


