HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/__pycache__/ps.cpython-310.pyc
o

�N�g��@sfdZddlZddlZzddlZdZWneydZYnwe�e�Z	dZ
dd�Zdd	�Zd
d�Z
dS)z%
Send events covering process status
�NTFZpscCsts
ddt�d�fStS)NFzUnable to load z% beacon: psutil library not installed)�
HAS_PSUTIL�__virtualname__�rr�C/opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/ps.py�__virtual__s

�rcCs>t|t�sdStjj�|�}d|vrdSt|dt�sdSdS)z+
    Validate the beacon configuration
    )Fz+Configuration for ps beacon must be a list.�	processes)Fz/Configuration for ps beacon requires processes.)Fz-Processes for ps beacon must be a dictionary.)TzValid beacon configuration)�
isinstance�list�salt�utils�beacons�list_to_dict�dict)�configrrr�validates
rc	Cs�g}g}t��D]}z|��}Wn
tjyYqw||vr$|�|�qtjj�|�}|�	di�D]=}i}|d|dkrL||vrKd||<|�|�q2|d|dkrb||vrad||<|�|�q2||vrod||<|�|�q2|S)a1
    Scan for processes and fire events

    Example Config

    .. code-block:: yaml

        beacons:
          ps:
            - processes:
                salt-master: running
                mysql: stopped

    The config above sets up beacons to check that
    processes are running or stopped.
    rZrunningZRunning�stoppedZStoppedF)
�psutilZprocess_iter�nameZ
NoSuchProcess�appendr
rrr
�get)r�retZprocs�proc�_name�processZret_dictrrr�beacon1s:�
�
�
�
�r)�__doc__�loggingZsalt.utils.beaconsr
rr�ImportError�	getLogger�__name__�logrrrrrrrr�<module>s�