Process 退出使用cmd Exit从cmd启动的进程

Process 退出使用cmd Exit从cmd启动的进程,process,cmd,Process,Cmd,我编写了一个启动cmd窗口的脚本。Cmd窗口进一步启动几个进程。我想要的是,在手动关闭cmd窗口或使用exit命令时,通过cmd启动的所有进程也会被终止。从技术上讲,无法更改exit命令的工作方式。您所能做的就是通过如下方式创建自己的自定义开始和退出命令: 启动命令批处理文件:(上下文为start2 program.exe) 将其另存为start2.bat Exit命令BatchFile:(上下文应该是Exit2) 另存为Exit2.bat 这些脚本所做的是跟踪使用自定义命令启动的每个程序st

我编写了一个启动cmd窗口的脚本。Cmd窗口进一步启动几个进程。我想要的是,在手动关闭cmd窗口或使用exit命令时,通过cmd启动的所有进程也会被终止。

从技术上讲,无法更改exit命令的工作方式。您所能做的就是通过如下方式创建自己的自定义开始和退出命令:

启动命令批处理文件:(上下文为
start2 program.exe

将其另存为start2.bat

Exit命令BatchFile:(上下文应该是
Exit2

另存为Exit2.bat



这些脚本所做的是跟踪使用自定义命令启动的每个程序
start2
,然后在自定义退出时跟踪它们。您可以将这些文件放在批处理文件的同一目录中,甚至可以让批处理文件使用
echo file contents>file.bat
echo more file contents>>file.bat创建这些文件。这是最好的方法,您可能不需要将实际的cmd可执行文件放在system32中,我当然不推荐这样做,因为许多其他程序都使用它。希望这有助于

用红色X关闭窗口将杀死一些进程,而不是其他进程-这取决于进程及其启动方式。例如,
start calc
将启动计算器,并且用红色X终止cmd窗口不会终止计算器,并且不能在同一批处理文件中编写脚本。需要进一步的详细信息才能为您提供解决方案。
taskkill/t
是最好的解决方案。Windows有作业对象,但我知道没有命令行界面。向我们展示您迄今为止所做的工作,然后有人可能会帮助您。另请参见:
start "" "%1"
if exist onExit.txt echo %1>> onExit.txt
if not exist onExit.txt echo %1> onExit.txt
for /F "tokens=*" %%A in  (onExit.txt) do  (taskkill /f /im "%%A"
exit