Wie stoppe ich einen Bat-Prozess unter Windows?

Ich habe eine BAT-Datei im Hintergrund unter Windows, die ungefähr zehn Minuten dauert. Jetzt möchte ich es stoppen, während es ausgeführt wird, aber ich kann seinen Namen nicht in der Prozessliste im Task-Manager finden. Wie kann ich das angehen? Danke!

UPDATE1

Es scheint schwierig zu sein, einen laufenden BAT-Prozess in Backgroud zu stoppen.Und ich beschließe zu versuchen, jeden Prozess, der an der BAT-Datei beteiligt ist, nach Namen zu löschen,was sein kann overkilled.It ' s akzeptabel für mich, da die meisten prozesse in meine BAT-Datei wird nicht häufig verwendet,z. B. Ping,Tracert, netstat usw.Wenn Sie eine bessere Lösung haben, lassen Sie es mich bitte wissen.Danke.

UPDATE2

BAT-Prozessbaum

alt-text

Author: SpawnST, 2010-11-08

7 answers

Prozesse werden normalerweise in einer Baumstruktur gestartet, ich würde empfehlen, Microsoft / Sysinternals Process Explorer zu starten, indem Sie auf die Option Show Process Tree (1) klicken, dann Ihren Prozess suchen und mit der rechten Maustaste klicken und Kill Process Tree auswählen (2) Dies sollte sowohl die Originaldatei als auch alles, was sie gestartet hat, töten.

alt-text

 11
Author: William Hilsum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-17 07:44:11

Sie können die Batchdatei so ändern, dass sie eine Sperrdatei verwendet, um den Betrieb fortzusetzen, indem Sie Überprüfungen zwischen Befehlen für die Existenz der Datei einfügen. Um die Ausführung der Batchdatei zu stoppen, löschen Sie einfach die Sperrdatei.

Hier ist eine Demo-Batch-Datei:

echo xx > "c:\temp\lockfile"
pause
if not exist "c:\temp\lockfile" goto  exit
pause
del "c:\temp\lockfile"
:exit

Um die Prozesse, die im Moment ausgeführt werden könnten, gewaltsam zu beenden, können Sie eine 'Kill' - Batchdatei erstellen, die taskkill - Befehle für alle möglicherweise aus dem Batch gestarteten Aufgaben enthält file:

del "c:\temp\lockfile"
taskkill /im mytask1.exe
taskkill /im mytask2.exe
 6
Author: harrymc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-17 10:15:30

Ein BAT startet normalerweise nur eine Instanz von CMD.exe. Abhängig davon, was Ihr Skript tut, werden auch andere Prozesse gestartet.

 1
Author: vcsjones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-08 07:16:58

Ich habe eine App geschrieben, die Ihnen helfen könnte, zumindest wenn der BAT in einem CMD-Fenster ausgeführt wird. Sie können die Anwendungsfenster anzeigen, die ausgeführt werden, und die PID der App abrufen, Sie können sie dann mit meiner App beenden, Sie können auch alle Prozesse sehen, die sie erzeugt hat, und sie auch beenden. Es ist ein wirklich einfaches Programm, aber effektiv für diese Art der Sache. Sie können es auch verwenden, um genau herauszufinden, woher auf Ihrer HD die BAT-Datei läuft, falls Sie das noch nicht wussten.

 1
Author: MaQleod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-08 07:24:33

Wie wird die Batchdatei aufgerufen?
Wenn es vom Taskplaner stammt, können Sie es auch von dort aus stoppen. Wenn es von einem Dienst stammt, können Sie den Dienst beenden.

 1
Author: weismat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-08 08:30:54

Diesen Message Board Thread gefunden:

Http://www.gamedev.net/community/forums/topic.asp?topic_id=261694

Es wird vorgeschlagen, ShellExecuteEx (oder CreateProcess)zu verwenden, damit Sie ein Prozesshandle erhalten, das dann zum Beenden des Prozesses verwendet werden kann.

 1
Author: Chris Hulan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-11-17 15:15:30

Wenn Sie es in der Eingabeaufforderung geöffnet haben, können Sie Strg drücken+C. Warten Sie einige Sekunden und es wird beendet.

 0
Author: harvey hopkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-12-27 11:53:05