如何在Windows上停止bat进程?

如何在Windows上停止bat进程?

我在 Windows 上有一个 BAT 文件在后台运行,持续大约十分钟。现在我想在它运行时停止它,但我在任务管理器的进程列表中找不到它的名称。那么我该如何解决这个问题?谢谢!

更新1

似乎很难停止后台运行的 BAT 进程。于是我决定尝试按名称杀死 BAT 文件涉及的每个进程,这可能有点过度。对我来说这是可以接受的,因为我的 BAT 文件中的大多数进程并不经常使用,例如 ping、tracert、netstat 等。如果您有更好的解决方案,请告诉我。谢谢。

更新2

BAT 流程树

替代文本

答案1

进程通常以树状方式启动,我建议启动Microsoft/Sysinternals 进程浏览器,首先单击Show Process Tree(1)选项,然后找到您的进程并右键单击并选择Kill Process Tree(2)这将终止原始文件及其启动的所有内容。

替代文本

答案2

您可以修改批处理文件,使其使用锁定文件继续运行,方法是在命令之间插入检查文件是否存在的命令。要停止执行批处理文件,只需删除锁定文件即可。

这是一个演示批处理文件:

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

要强制终止当前可能正在执行的进程,您可以创建一个“kill”批处理文件,其中包含任务终止所有可能从批处理文件启动的任务的命令:

del "c:\temp\lockfile"
taskkill /im mytask1.exe
taskkill /im mytask2.exe

答案3

BAT 通常只会启动 CMD.exe 的一个实例。根据脚本的功能,它还会启动其他进程。

答案4

如何调用批处理文件?
如果是从任务计划程序调用,那么您也可以从那里停止它。如果是从服务调用,那么您可以停止该服务。

相关内容