Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallöchen...

Folgendes Problem:

Wie ich einen Task beende ist klar (schtasks /end etc).

Wenn ich dies nun aber in der Kommandozeile ausführe, beendet er zwar den Task, aber die Batch-Datei, die durch den Task gestartet wurde, läuft trotzdem noch weiter.

Gibt es eine Möglichkeit einen Task wirkungsvoll zu beenden, so dass auch die Programme/Skripte die durch ihn gestartet wurden beendet werden?

Hintergrund des Ganzen:

Es laufen bei uns Geplante Tasks (automatisch jeden Tag), die jedoch nur eine bestimmte Zeit lang ausgeführt werden sollen (bspw. Task startet um 8 Uhr, 8:30 wird er dann beendet).

Geschrieben

Servus,

ich denke es geht um Windows, richtig?

Hm, ich hab grad kein Windows zur Hand, deswegen kann es sein, das ich was nicht ganz so richtiges erzähle :D

Schau dir mal "taskkill" an (taskkill /?). Dieses Programm schließt Prozesse mit allen Unterprozessen etc.. Vielleicht hilft dir das ja weiter.

Gruß,

bytebrain

Geschrieben

Ja, dreht sich um Windows Server 2003...

Das mit TaskKill wäre eine schöne Sache, da aber über den Task eine Batch-Datei ausgeführt wird, taucht diese natürlich so nicht auf...

Idee die mir dabei gerade kam:

Da die Batch ja über die Kommandozeile läuft, was passiert wenn ich die cmd.exe einfach beenden lassen? bewirkt das den gewünschten Effekt?

Geschrieben
Ja, dreht sich um Windows Server 2003...

Das mit TaskKill wäre eine schöne Sache, da aber über den Task eine Batch-Datei ausgeführt wird, taucht diese natürlich so nicht auf...

Mööp, das stimmt nicht :P

Mit taskkill kannst du _alle_ Prozesse beenden, die du auch im Taskmanager siehst. Du kannst entweder die Prozessbezeichnung angeben oder eine Prozess-ID. Somit solltest du auch ohne Probleme das batch-Script beenden können.

Gruß,

bytebrain

Geschrieben

@robotto7831a

Ist ein recht kompliziertes und aufwändiges Skript, keinesfalls anderweitig realisierbar

@bytebrain

Also wenn die Batch ausgeführt wird, hab ich ja nur das svchost-Fenster als Task-Fenster im Taskmanager... daher gibt es weder eine seperate PID noch nen eigenen Anzeigenamen dafür...

Geschrieben

Hm... Dann is doof. Allerdings kann ich mir wenig vorstellen, das es für dein batch-Script keine eigene pid geben soll :confused:

Aber wenn taskkill nicht für deine Zwecke geeignet ist, dann weiß ich leider auch nicht.

Gruß,

bytebrain

Geschrieben

Gibt aber keine PID ;) also klar gibt es die, weil ich ja nur die entsprechende svchost killen müsste.

Bei 5-6 svchosts wird das dann aber schon zum Glücksspiel...

Gibts denn keine andere möglichkeit per Konsole/Batch nen Prozess mit dazugehörigem Batch-Skript zu stoppen?

Geschrieben

DAS hatte ich mir anfangs auch gedacht diemah...

Aber nach kurzem Überlegen war mir schnell klar warum das nicht funktioniert:

Der Task startet ja nur die Batch, danach haben die beiden nichts mehr miteinander zu tun...

Der Task wurde dann ordnungsgemäß beendet und die Batch lief munter weiter :(

Geschrieben (bearbeitet)

Der Task wurde dann ordnungsgemäß beendet und die Batch lief munter weiter :(

Kannst du das Script vieleicht mal posten? Vermute mal du arbeitest mit schleifen oder verzweigten Bedingungen, oder?

Ansonsten würde ich innerhalb der Batchdatei das "exit" am Ende bzw. in der gewünschten Verzweigung einbauen. Die gestarten Tasks sollte das eigentlich nicht betreffen.

Bearbeitet von Boro
Geschrieben

Klar sind da Schleifen etc drin, ist auch zu groß um das hier zu posten.

Macht aber an sich auch keinen Unterschied.

Der Grund ist einfach folgender:

Die Batch sollte im Normalfall keine allzu lange Laufzeit haben. Danach wird eine andere Batch aufgerufen (ebenfalls per geplantem Task) die die selben Dateien verwendet wie schon die erste Batch.

Sollte nun aber aus unerfindlichen Gründen die Laufzeit der ersten Batch so lange werden, dass es in die Ausführung der zweiten hineinreichen würde, so muss sichergestellt sein dass diese beendet wird/beendet ist.

Und nein, es ist kein Aufruf von der einen in die andere Batch möglich...

Geschrieben

hi...

ich habe sowas ähnliches auch schonmal gemacht...hast du mal den Begriff "handle" gehört?

Das müsste so eine Art Handlingnummer zu genau einem Prozess sein...d.h. wenn du dich informierst, kannst du vllt die Handlenummer deines Tasks ansprechen und anschließend an genau diese Handlenummer einen schließen Befehl schicken.

Leider ist das bei mir schon ne Weile her, also müsste mich auch erst wieder rein lesen, aber schaumal ob du damit weiterkommst!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...