Hallo liebe Forenmitglieder,
ich möchte gerne mit einem Pythonscript einen Windows-Service beenden, um dann mehrere Datenbankbefehle auszuführen. Im Anschluss möchte ich den Dienst wieder starten.
Gibt es für das Beenden und Starten des Dienstes ein Modul (z.B. os. oder subprocess), das ich nutzen kann?
Vielen Dank im Voraus
Windows Dienst beenden
Das Modul ist bei pywin32 dabei:
https://www.markjour.com/docs/pywin32-d ... rvice.html
Mit der Anleitung von in der Microsoft-Dokumentation (https://learn.microsoft.com/en-us/windo ... -a-service) sollte das einfach umsetzbar sein.
https://www.markjour.com/docs/pywin32-d ... rvice.html
Mit der Anleitung von in der Microsoft-Dokumentation (https://learn.microsoft.com/en-us/windo ... -a-service) sollte das einfach umsetzbar sein.
-
pythonstarter
- User
- Beiträge: 53
- Registriert: Donnerstag 15. April 2010, 20:34
Hallo Sirius,
vielen Dank für Deine Antwort.
Habe es aber dann doch anders gelöst:
vielen Dank für Deine Antwort.
Habe es aber dann doch anders gelöst:
Code: Alles auswählen
import subprocess
# Dienst starten
start_command = 'net start <service_name>'
subprocess.run(start_command, shell=True)
# Dienst beenden
stop_command = 'net stop <service_name>'
subprocess.run(stop_command, shell=True)
- __blackjack__
- User
- Beiträge: 14239
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@pythonstarter: Da jetzt bitte das ``shell=True`` rausnehmen und die Kommandos als Liste übergeben und ein ``check=True`` dazu packen.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
-
pythonstarter
- User
- Beiträge: 53
- Registriert: Donnerstag 15. April 2010, 20:34
@ __blackjack__
Wenn Du mir noch erklären könntest, warum ich das tun soll...
Wenn Du mir noch erklären könntest, warum ich das tun soll...
- __blackjack__
- User
- Beiträge: 14239
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@pythonstarter: Weil man im Moment die gleichen Probleme hat die `os.system()` hat, weswegen man `subprocess` nehmen sollte. Bezüglich `check` schau in die Dokumentation was das bewirkt.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
