automatisches & simultanes beenden von programmen unter windows

R

r00ter

Gast
eine kleine frage und sicher leicht für so manchen zu beantworten.

folgende aufgabenstellung.

wenn toola.exe beendet wird, soll toolb.exe automatisch mit beendet werden.

da ich mir nicht sicher bin, ob autoit so etwas kann und ich mich vor autoit grusele, weil es mir zu umfangreich ist für so eine kleine aufgabe, frage ich mal lieber nach ob dies auch einfacher geht.

besten dank schonmal im vorhinein.
 
Zuletzt bearbeitet:
AW: automatisches beenden von programmen unter windows

es kommt auf das genaue einsatzszenario an. an sich muss ein weiteres programm im hintergrund mitlaufen und toola.exe überwachen, läuft dieses nicht mehr toolb.exe beenden.

das ganze ist auch mit batch zu lösen.
z.b. mittels tasklist | findstr toola
das ganze in einer schleife mit errorlevel-abfrage und wenn es das nicht mehr gibt, taskkill auf toolb.

das wäre jetzt mein lösungsvorschlag, wer andere oder gar einfachere ideen hat, gerne her damit. :-)


edit:
Hier ein kleines Beispiel:
Code:
@echo off
:check
tasklist | findstr mspaint.exe >NUL
IF %errorlevel% EQU 0 (
	ping -n 5 localhost > NUL
	goto check
) ELSE (
	taskkill /F /IM wordpad.exe >NUL
	exit
)

mspaint entspricht toola, wordpad toolb


mfg
Riddick91
 
Zuletzt bearbeitet:
danke dir, dies hilft enorm weiter. sollte es noch andere vorschläge geben gerne her damit.
 
Bei solchen Kleinigkeiten flick ich mir meist fix was mit NSIS zusammen.
So ein Batch Watchdog kostet Rechenzeit, finde ich suboptimal.
Sieht in NSIS etwa so aus.

Code:
SetCompressor lzma

Section
Exec "Meine.exe"
ExecWait "Andere.exe"
Exec 'taskKill /F /IM "Meine.exe"'
SectionEnd

CRCCheck force
Icon Mein.ico
SetOverwrite on
RequestexecutionLevel user
OutFile "MeinLauncher.exe"
SilentInstall silent

LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
VIProductVersion 1.0.0.0
VIAddVersionKey /LANG=${LANG_GERMAN} FileVersion "MyLauncher"
VIAddVersionKey /LANG=${LANG_GERMAN} CompanyName "Blubb"
VIAddVersionKey /LANG=${LANG_GERMAN} LegalCopyright ""
VIAddVersionKey /LANG=${LANG_GERMAN} FileDescription ""


Als Batch würde ich es so machen.

Code:
Start meine.exe
andere.exe
taskkill /f /IM meine.exe

Kostet wenigstens keine Rechenzeit. Die blöde Konsole bleibt natürlich trotzdem offen.
 
Zuletzt bearbeitet:
okay xD den brocken versteh ich jez ned auf anhieb aber danke daführ. ich werd mich einlesen.


edit:

eines habe ich nun nicht bedacht.

toola.exe ist ja noch nicht gestartet bzw. läuft ja nicht perse. also eig. müsste es lauten:

wenn toola.exe gestartet -> watch toola.exe -> wenn toola.exe beendet -> beende auch toolb.exe

ich sehe schon, da werd ich wohl in sachen scripting rtfm machen müssen :D
 
Zuletzt bearbeitet:
Entweder verstehe ich dich nicht ganz, oder Du siesht ein Problem, wo keines ist.

Code:
@echo off
Start toolA.exe                <- Startet doch Tool A und geht dann weiter. (Warum also watchen?)
ToolB.exe                        <- Startet Tool B und wartet bis es beendet wird.
Taskkill /F /IM ToolA.exe  <- Killt Tool A sobald Tool B beendet wurde.
 
weil die kette komplexer ist.

die kette ist folgende:

ich starte manuell -> initialtool.exe

initialtool.exe startet wenn erforderlich erst toolb.exe dann toola.exe.

ich muss manuell toola.exe beenden, wenn jenes seine arbeit erledigt hat. im system verbleiben jedoch initialtool.exe ( welche weiterlaufen muss ) und toolb.exe.

dies erfordert eben einen wachunddienst, der bemerkt wann toola.exe gestartet wird und ab dann darauf wartet tool.exe zu beenden falls toola.exe beendet wurde.

meine güte das liest sich wie eine textaufgabe aus der schulzeit xD
 
Ich verstehe.
In dem Fall führt wohl kein Weg daran vorbei ab und an die Tasklist auf das Tool zu prüfen, so wie im bsp. von Riddick. Funktioniert der Code nicht?
 
doch doch funktioniert alles aber ich werd wohl nicht umher kommen mit nsis oder auto it heftiges rtfm machen zu müssen, um mir eine exe zu kompilieren, die ich dann laufen lassen kann. trotz allem, vielen dank an euch.

wenn jemand gute totorials hat für nsis / autoit dann immer her damit :D
 
Zurück
Oben