Your IP : 216.73.216.86


Current Path : /lib/fm-agent/dependencies/psutil/__pycache__/
Upload File :
Current File : //lib/fm-agent/dependencies/psutil/__pycache__/_psposix.cpython-36.pyc

3

q��i�@s�dZddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZmZGdd�de
�Zdd�Zdd	d
�Zdd�Ze	d
d��ZdS)z%Routines common to all posix systems.�N)�
sdiskusage�
usage_percent�memoize)�PY3�unicodec@seZdZdS)�TimeoutExpiredN)�__name__�
__module__�__qualname__�rr�1/usr/lib/fm-agent/dependencies/psutil/_psposix.pyrsrcCsj|dkrdSytj|d�WnDtk
r`tj�d}|jtjkrHdS|jtjkrXdS|�YnXdSdS)z6Check whether pid exists in the current process table.rT�FN)�os�kill�OSError�sys�exc_info�errno�ESRCH�EPERM)�pid�errrrr�
pid_existss
rcs���fdd�}ttdtj���dk	r>�fdd�}����n�fdd�}d}x�y|�\}}Wndtk
r�tj�d	}|jtjkr�||�}wPn,|jtjkr�xt��r�||�}q�dSq�Wn�YqPX|d
kr�||�}qPt	j
|�r�t	j|�St	j|��rt	j
|�Std��qPWdS)aIWait for process with pid 'pid' to terminate and return its
    exit status code as an integer.

    If pid is not a children of os.getpid() (current process) just
    waits until the process disappears and return None.

    If pid does not exist at all return None immediately.

    Raise TimeoutExpired on timeout expired.
    cs0�dk	r���krt��tj|�t|dd�S)N�g{�G�z�?)r�time�sleep�min)�delay)�stop_at�timeout�timerrr�
check_timeout?s


zwait_pid.<locals>.check_timeout�	monotonicNcstj�tj�S)N)r�waitpid�WNOHANGr)rrr�<lambda>Hszwait_pid.<locals>.<lambda>cstj�d�S)Nr)rr#r)rrrr%Ksg-C��6?r
rzunknown process exit status)�getattrrrrrrZEINTRZECHILDrr�WIFSIGNALED�WTERMSIG�	WIFEXITED�WEXITSTATUS�RuntimeError)rrr!ZwaitcallrZretpid�statusrr)rrrr r�wait_pid4s:




r-cCs�ytj|�}WnZtk
rhtrbt|t�rby|jtj��}Wntk
rTYnXtj|�}n�YnX|j	|j
}|j|j
}|j|j|j
}t
||dd�}t||||�S)z'Return disk usage associated with path.r
)�_round)r�statvfs�UnicodeEncodeErrorr�
isinstancer�encoder�getfilesystemencoding�f_bavail�f_frsize�f_blocks�f_bfreerr)�path�st�free�total�used�percentrrr�
disk_usagevsr>cCszi}tjd�tjd�}x\|D]T}||ks.t�y||tj|�j<Wqtk
rptj�d}|jtj	krl�YqXqW|S)Nz	/dev/tty*z
/dev/pts/*r
)
�glob�AssertionErrorr�stat�st_rdevrrrr�ENOENT)�ret�ls�namerrrr�_get_terminal_map�s
rG)N)�__doc__rr?rrr�psutil._commonrrr�psutil._compatrr�	Exceptionrrr-r>rGrrrr�<module>s
B