Moin, wie kann ich mir ansehen welche Prozesse gerade laufen z.B. mit Umgebungsvariablen(os.enviorn hab ich probiert) und wenn ein bestimmter Prozess läuft, den Prozess beenden bzw. Das Programm, das den Prozess auslöst beenden.
Gruß
Glamdring
Umgebungsvars und prog beenden
-
- User
- Beiträge: 104
- Registriert: Sonntag 25. Mai 2003, 20:22
- Wohnort: Freiburg i.B.
- Kontaktdaten:
Aha, das Problem mit den Prozessen ist gelöst-->
Aber das Problem mit dem Beenden vom Programm bleibt
Gruß
Glamdring
Code: Alles auswählen
pids = win32.win32pdhutil.FindPerformanceAttributesByName(procname)
Gruß
Glamdring
Dies ist ein Platzhalter, er steht am Ende jeder meiner Beiträge! Erst wenn ich einen vernünftigen Text gefunden habe wird sich das ändern!
Also bei mir kommt immer folgende Fehlermeldung:Aha, das Problem mit den Prozessen ist gelöst-->
Code:Code: Alles auswählen
pids = win32.win32pdhutil.FindPerformanceAttributesByName(procname)
Code: Alles auswählen
Traceback (most recent call last):
File "<pyshell#1>", line 1, in ?
win32pdhutil.FindPerformanceAttributesByName("notepad.exe")
File "C:\PROGRA~1\PYTHON22\lib\site-packages\win32\lib\win32pdhutil.py", line 49, in FindPerformanceAttributesByName
items, instances = win32pdh.EnumObjectItems(None,None,object, -1)
error: (-1073738824, 'EnumObjectItems for buffer size', 'No error message is available')
Um einen Prozess zu beenden, kannst du win32api.TerminateProcess(...) benutzen.Aber das Problem mit dem Beenden vom Programm bleibt
cu
Chris[/code]
bombing for freedom is like fucking for virginity
-
- User
- Beiträge: 104
- Registriert: Sonntag 25. Mai 2003, 20:22
- Wohnort: Freiburg i.B.
- Kontaktdaten:
zu1 .: such mal unter Prozesse und nimm dann den Eintrag von meckse, da steht was von modifizierungen, vieleicht hilft dir das weiter.
zu2.: Danke
Gruß
Glamdring
zu2.: Danke
Gruß
Glamdring
Dies ist ein Platzhalter, er steht am Ende jeder meiner Beiträge! Erst wenn ich einen vernünftigen Text gefunden habe wird sich das ändern!
-
- User
- Beiträge: 104
- Registriert: Sonntag 25. Mai 2003, 20:22
- Wohnort: Freiburg i.B.
- Kontaktdaten:
Habs eben erst getestet, nö geht auch net.
Gruß
Glamdring
Gruß
Glamdring
Dies ist ein Platzhalter, er steht am Ende jeder meiner Beiträge! Erst wenn ich einen vernünftigen Text gefunden habe wird sich das ändern!
Versuchts doch mal ueber WMI
Ueber WMI kann man die ProzessID ermitteln und noch mehr Infos zum Prozess bekommen.
Mit der ProzessID kann man dann, wie hier schon erwaehnt, TerminateProcess aus der Windows-API aufrufen um den Prozess zu beenden.
Damit erhaeltst du schonmal alle Prozesse
Diese kannst du dann einfach in einer For-Schleife durchlaufen zB:
Folgende Attribute hat Win32_Process:
Ueber WMI kann man die ProzessID ermitteln und noch mehr Infos zum Prozess bekommen.
Mit der ProzessID kann man dann, wie hier schon erwaehnt, TerminateProcess aus der Windows-API aufrufen um den Prozess zu beenden.
Code: Alles auswählen
import win32com.client
wmi = win32com.client.GetObject("winmgmts:")
result = wmi.ExecQuery("SELECT * FROM Win32_Process")
Diese kannst du dann einfach in einer For-Schleife durchlaufen zB:
Code: Alles auswählen
For elem in result:
print elem.ProcessId
Code: Alles auswählen
Caption
CreationClassName
CreationDate
CSCreationClassName
CSName
Description
ExecutablePath
ExecutionState
Handle
HandleCount
InstallDate
KernelModeTime
MaximumWorkingSetSize
MinimumWorkingSetSize
Name
OSCreationClassName
OSName
OtherOperationCount
OtherTransferCount
PageFaults
PageFileUsage
ParentProcessId
PeakPageFileUsage
PeakVirtualSize
PeakWorkingSetSize
Priority
PrivatePageCount
ProcessId
QuotaNonPagedPoolUsage
QuotaPagedPoolUsage
QuotaPeakNonPagedPoolUsage
QuotaPeakPagedPoolUsage
ReadOperationCount
ReadTransferCount
SessionId
Status
TerminationDate
ThreadCount
UserModeTime
VirtualSize
WindowsVersion
WorkingSetSize
WriteOperationCount
WriteTransferCount