✏️ 正在编辑: base.cpython-36.pyc
路径:
/lib/python3.6/site-packages/tuned/plugins/__pycache__/base.cpython-36.pyc
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
3 �<�e�W � @ sl d dl Z d dljZd dlZd dlZd dlZd dlmZ d dl Z d dl mZmZ ej j� ZG dd� de�ZdS )� N)�commands)�Popen�PIPEc @ s& e Zd ZdZdd� Zdd� Zdd� Zedd � �Ze d d� �Z e dd � �Ze dd� �Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zejfd2d3�Z d4d5� Z!d6d7� Z"d8d9� Z#ejfd:d;�Z$d<d=� Z%d>d?� Z&ejfd@dA�Z'dBdC� Z(dDdE� Z)dFdG� Z*dHdI� Z+dJdK� Z,dLdM� Z-d|dOdP�Z.d}dQdR�Z/d~dSdT�Z0ddUdV�Z1dWdX� Z2dYdZ� Z3d[d\� Z4d]d^� Z5d_d`� Z6d�dbdc�Z7d�ddde�Z8dfdg� Z9dhdi� Z:djdk� Z;d�dldm�Z<d�dndo�Z=dpdq� Z>drds� Z?dtdu� Z@d�dvdw�ZAd�dxdy�ZBdzd{� ZCdNS )��Plugina Base class for all plugins. Plugins change various system settings in order to get desired performance or power saving. Plugins use Monitor objects to get information from the running system. Intentionally a lot of logic is included in the plugin to increase plugin flexibility. c C sn |j | jj�| _|| _|| _|| _|| _|| _t j � | _| j� || _ || _d| _d| _| j� | _t� | _dS )zPlugin constructor.FN)�create� __class__�__name__�_storageZ_monitors_repositoryZ_hardware_inventory�_device_matcher�_device_matcher_udev�_instance_factory�collections�OrderedDict� _instances�_init_commands�_global_cfg� _variables�_has_dynamic_options�_devices_inited�#_get_config_options_used_by_dynamic�_options_used_by_dynamicr �_cmd) �selfZmonitors_repositoryZstorage_factoryZhardware_inventoryZdevice_matcherZdevice_matcher_udevZinstance_factoryZ global_cfg� variables� r �/usr/lib/python3.6/base.py�__init__ s zPlugin.__init__c C s | j � d S )N)�destroy_instances)r r r r �cleanup, s zPlugin.cleanupc C s | j s| j� d| _ d S )NT)r � _init_devices)r r r r �init_devices/ s zPlugin.init_devicesc C s | j jjd�d jdd�d S )N�.� �_���)r � __module__�split)r r r r �name4 s zPlugin.namec C s i S )z-Default configuration options for the plugin.r )r r r r �_get_config_options<