[SOLVED] how to check service running on other server with python

Issue

I have a problem with checking my service on other windows or Linux servers.

My problem is that I have to make a request from one server to the other servers and check if the vital services of those servers are active or disabled.

I wrote Python code to check for services, which only works on a local system.

import psutil
 
def getService(name):

    service = None
    try:
        service = psutil.win_service_get(name)
        service = service.as_dict()
    except Exception as ex:
        print(str(ex))
    return service

service = getService('LanmanServer')
if service:
    print("service found")
else:
    print("service not found")

if service and service['status'] == 'running':
    print("service is running")
else:
    print("service is not running")

Does this code have this feature?
Or suggest another code؟

I have reviewed suggestions such as using server agents (influx, …), which are not working for my needs.

Solution

You can use the following code for your service. i think these codes will help you
in your problem.

            ip = your_ip
            server_user = your_serviceuser
            server_pass = your_pass
            command = f"net use \\\\{ip} {server_pass} /USER:{server_user}"
            os.system(command)
            command = f"SC \\\\{ip} query SQLSERVERAGENT"
            process = subprocess.Popen(command, stdout=subprocess.PIPE)
            output, err = process.communicate()
            
            output = str(str(str(str(output)[2:-1].replace(' ', '')).replace('\\t', '')).replace('\\r', '')).split('\\n')
            if output[3] != 'STATE:4RUNNING':
                print("service is running...")

Answered By – Hamid

Answer Checked By – Marie Seifert (BugsFixing Admin)

Leave a Reply

Your email address will not be published. Required fields are marked *