Файловый менеджер - Редактировать - /opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__/daemon_redis_lib.cpython-311.pyc
Назад
� b\eh�/ � �~ � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z mZmZ d dl mZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZmZmZmZ d dlm Z d dl!m"Z# ej$ e%� � Z&d Z'de(de e) fd�Z*de(de e) fd�Z+de(de(de e) fd�Z,dede)fd�Z-dede(fd�Z.defd�Z/de)de0fd�Z1de)dee0e0e2f fd�Z3de(dee) fd �Z4 d(de(d"ee) d#e(deee) e2f fd$�Z5de ee)e)f fd%�Z6d&ej7 deee)e)f fd'�Z8dS ))� N)�Logger)�List�Optional�Tuple)�drop_privileges)�run_command�ExternalProgramFailed�is_user_present)�cpusers)�get_main_username_by_uid)�REDIS_SERVER_BIN_FILE)� WposError)� USER_WPOS_DIR�is_run_under_user�drop_permissions_if_needed�run_in_cagefs_if_needed)� NoPackage)�gettextz/opt/alt/redis/bin/redis-cli� file_path�returnc �� � d}t j � |� � sd} t || gd�� � }|� d� � }|d � d� � d � � � }g }|� d � � D ]G} |� t |� � � � � � � �8# t $ r Y �Dw xY w|S # t t f$ r Y nw xY wg S ) z� Retrieves list of PID list processes, which uses file (using fuser utility) This can find any process (for example php), not only redis service process :param file_path: Filename to check :return: PID list z/usr/bin/fuserz/sbin/fuserF��return_full_output� r �:� � )�os�path�existsr �split�strip�append�int� ValueErrorr � IndexError)r �fuser_binary�std_out� lines_list� s_pid_list�pid_list�s_pids �N/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/daemon_redis_lib.py�_get_pids_for_filer. 1 s � � $�L� �7�>�>�,�'�'� %�$�� � �|�Y�7�E�R�R�R���]�]�4�(�(� ���]�(�(��-�-�a�0�6�6�8�8� ����%�%�c�*�*� � �E� �����E�K�K�M�M� 2� 2�3�3�3�3��� � � ��� �������!�:�.� � � ��� ���� �Is6 �A4C! �4C�C! � C�C! �C�C! �!C5�4C5�usernamec � � t dddd| gd�� � }n# t $ r g cY S w xY w|� d� � }t |� � dk rg S g }|d d � }|D ]^}|� � � }|rF |� t |� � � � � � � �N# t $ r Y �Zw xY w�_|S )zz Update PID list in cache for user using /bin/ps utility :param: username: Username to scan :return: None z/bin/psz-o�pidz-uFr r � r N)r r r! �lenr"