J'ai besoin d'un script qui vérifie si un processus particulier est en cours d'exécution et retourne quelque chose s'il n'est pas trouvé. Je sais que cela peut être fait en utilisant un sous-processus, mais y a-t-il une façon plus simple de le faire?Gestion de processus Windows utilisant Python
3
A
Répondre
6
Sous Windows, vous pouvez utiliser WMI:
import win32com.client
def find_process(name):
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(".", "root\cimv2")
colItems = objSWbemServices.ExecQuery(
"Select * from Win32_Process where Caption = '{0}'".format(name))
return len(colItems)
print find_process("SciTE.exe")
1
Jetez un oeil à: getting process information on windows
1
Pour des raisons similaires, je l'ai utilisé psutil bibliothèque. Quelques conseils:
-
processus de liste
- avec
psutil.pids()
(reference) - inspectent traiter l'information avec
process = psutil.Process(pid)
(reference) - do
process.kill
ouprocess.terminate()
Installation sur les fenêtres - pip
fera l'installation de la source (ce qui signifie la compilation), donc vous voulez probablement télécharger l'installation binaire de https://pypi.python.org/pypi/psutil/#downloads
Questions connexes
- 1. Windows processus de gestion
- 2. Gestion de processus Python
- 3. sous-processus python utilisant le sous-processus d'importation
- 4. Démarrage d'un processus graphique à partir d'un service Windows Python
- 5. Microsoft Windows - Gestion de la mémoire
- 6. Processus logiciel utilisant TFS
- 7. Descripteur de processus Windows
- 8. gestion de session SQLAlchemy en processus de longue durée
- 9. Sous-processus Python. Ouvrir en tant qu'utilisateur différent sous Windows
- 10. Processus de gestion des événements clés
- 11. théorie de la gestion des processus
- 12. Python - Sous-processus - Comment appeler une commande Piped dans Windows?
- 13. Obtenir l'ID de processus avec python
- 14. Debug Python utilisant PDB sur Windows
- 15. Gestion de documents SOAP Python
- 16. Activation de processus Tibco & Windows
- 17. Python Gestion des exceptions
- 18. Bloc de sous-processus Python
- 19. Processus Windows et applications
- 20. Surveillance des processus Windows
- 21. Tomcat arrêté via l'ID de processus (Windows)
- 22. kill processus avec python
- 23. python et le processus
- 24. show linux processus [Python]
- 25. Python et sous-processus
- 26. Module de sous-processus Python équivalent pour double-clic dans Windows
- 27. Contrôle des processus depuis Python
- 28. Comment dire l'ID de processus dans Python
- 29. routines de gestion de fichiers sous Windows
- 30. API de gestion de fichiers Windows CE
Le module wmi rendra cela encore plus facile. http://timgolden.me.uk/python/wmi/index.html C'est un wrapper léger autour de win32com – codeape
Pourquoi prendre la peine de récupérer toute la liste des processus, lorsque l'instruction 'Select' vous permettra de pré-filtrer sur le' Caption '? Comme ceci: '" Sélectionnez * de Win32_Process où Caption = 'SciTE.exe' "' –
Oui c'est une bonne suggestion. J'ai mis à jour ma réponse – luc