ich versuche mich gerade an einem Script, in welchem ich Multiprocessing anwenden möchte. Habe mich ein wenig eingelesen und ein kleines Beispiel gebaut, das auch soweit funktioniert. Im Prinzip geht es darum, eine Funktion auszuführen und danach fünf Sekunden zu warten. Ist die Funktion bis zum Ablaufen der Wartezeit nicht fertig, wird sie terminiert.
Momentaner Stand ist folgend:
Funktion:
Code: Alles auswählen
def myFunction(pc, user):
temp = subprocess.Popen([r"C:\Windows\SysNative\query.exe",
"user", user,
"/server",
pc],
stdout=subprocess.PIPE).communicate()[0]
Code: Alles auswählen
def main():
local_network_user = {
"PC1": "A*******",
"PC2": "R*****",
"PC3": "D***",
"PC4": "S*********"
}
for key in local_network_user:
# start function 'myFunction' as process
process = Process(target=myFunction, args=(key, local_network_user.get(key)))
process.start()
print("Process started...")
# wait for 5 seconds or until process finishes
process.join(5)
print("Waiting...")
# if thread is still active
if process.is_alive():
print("running... let's kill the process...")
process.terminate()
process.join()

Danke schonmal fürs Lesen und Grüße,
lordzwieback