codehunter
Goto Top

Geplanten Task mehrfach starten lassen

Hallo zusammen!

Ich möchte unter Windows Server 2003 einen geplanten Task so einrichten dass er alle 1 Minuten ausgeführt wird, egal ob der Task aus dem letzten geplanten Start noch läuft oder nicht. Der Taskplaner schaut aber jedesmal nach ob der letzte Task noch läuft und startet so lange keinen neuen.

Der Task ist ein Script das intern dafür sorgt daß es nicht mit Aufgaben kollidiert die eine andere Instanz des selben Scripts gerade bearbeitet. Also muss Windows sich darum nicht kümmern.

Zwar gibt es die Möglichkeit, den vorher gestarteten Task zu killen bevor der neue gestartet wird aber genau das will ich ja nicht. Es können ruhig mehrere parallel laufen, die beenden sich schon selbst wenn sie ihre Aufgaben erfüllt haben.

Grüssle
Cody

EDIT: Ich habe die Lösung selbst gefunden. Der Taskplaner überwacht die von ihm gestarteten Prozesse immer. Also braucht man etwas das einen Kindprozess starten kann ohne selbst mit dem Kindprozess "verheiratet" zu sein. Mit Batchdateien habe ich es zuerst versucht aber die starten aus dem Taskplaner heraus nicht via cmd.exe oder command.com sondern über svhost.exe und halten die Verbindung zum Kindprozess aufrecht. Bei WSH-Scripten sieht es dagegen besser aus. Man erstelle einfach eine Textdatei mit der Endung .vbs an beliebigem Speicherort und mit folgendem Inhalt und lasse diese vom Taskplaner aufrufen:

Set WshShell = WScript.CreateObject( "WScript.Shell" )  
WshShell.Run "C:\Irgendwo\Irgendeine.exe mit beliebigen Parametern falls nötig",1,False  

Bei einigen Programmen muss man das Ausführungsverzeichnis des Tasks nicht in das Verzeichnis legen wo die .vbs-Datei liegt sondern in das Verzeichnis in dem die eigentlich zu startende Anwendung liegt.

Content-Key: 146467

Url: https://administrator.de/contentid/146467

Printed on: April 24, 2024 at 16:04 o'clock