lupo45 10 Geschrieben 5. April 2004 Melden Teilen Geschrieben 5. April 2004 Hi Loide! :) Hier mal was nettes für unsere Batch-Job-Spezialisten. Folgende Anforderung: Ihr müsst ein Script schreiben, welches zu bestimmten Zeiten irgendwelche Prozesse starten soll. Da es ja mal vorkommen kann, dass ein Prozess hängen bleibt wäre es gut, wenn dieser nach einer gewissen Time-Out-Zeit automatisch abgeschossen wird. In C o.ä. vielleicht einfach, aber wie würdet ihr das in einem Batch lösen? Ich habe mir dazu dieses Unterprogramm gestrickt, nennen wir es mal RPCTaskGetPID.cmd: @for /f "tokens=8 skip=6 eol=." %%i in ('psexec \\127.0.0.1 -d -u administrator -p password -low cmd /c BEFEHL.mit.Pfad.aber.ohne.Spaces') do echo %%i In einem übergeordnetem Batch sieht ein entsprechender Aufruf dann folgendermassen aus: for /f "tokens=1 delims=." %%i in ('call RPCTaskGetPID.cmd') do set PID=%%i Wozu der Aufstand mit dem 2. Batch? Ganz einfach: es wird nämlich erstmal die ID mit angehängtem Punkt extrahiert! Und der muss weg, um die ID später auch abfragen zukönnen, sonst muss man wieder stricken... ;) Naja, vielleicht kann's noch jemand brauchen...statt der localhost-IP kann natürlich jede weitere beliebige genommen werden, vorrausgesetzt ihr könnt euch anständig authentifizieren. PS: wenn der Befehlszeilen-String Leerzeichen enthalten sollte muss in RPCTaskGetPID.cmd der Tokens-Wert angepasst werden, sonst bekommt man nur Schrott zurück. Kann man vielleicht noch entsprechend durchzählen, aber da hab ich jetzt grad keinen Bock mehr drauf... :D Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.