我需要从exe
开始cmd
(包装exe以便我可以提供一些命令行选项)。问题是只是从cmd调用exe不会使包装完全透明:如果.exe挂起,杀死cmd将不会杀死exe。我也需要它来杀死exe。我可以在普通的Windows(从XP上)执行此操作,而不添加任何依赖项吗?
在Bash中,您有exec
,它使用提供的命令替换shell进程。这对于编写包装脚本非常方便,使包装过程完全透明。我知道Windows缺少execve()
使这成为可能,但我只对父母杀害其子女部分感兴趣。
澄清:我不是在寻找杀死exe的方法,我正在寻找包装(启动)exe的方法,以便使用标准方法杀死它(例如Ctrl + C或来自任务经理)工作。例如,我可以创建一个lnk
文件(Windows快捷方式)并获得此行为,但我想从脚本中执行此操作(对于一个,lnks只能使用绝对路径,我无法部署它)。
感谢。
答案 0 :(得分:0)
Taskkill
可用于匹配特定条件。输入Taskkill/?
即可获得手册,并可以阅读如何使用常用属性进行过滤。我假设你所有的孩子都有他们名字中的共同部分。您可以使用taskkill使用通配符对名称进行数学计算,并关闭与该名称匹配的所有子项。
编辑(摘自评论部分):
正如IInspectable指出的那样,你可以使用/T
标志来杀死所有子进程。
从批处理开始编辑,您可以使用START
(reference here)启动与批处理并行的exe并在批处理中进行中止。
编辑我编写并测试了这个小例子:
@echo off
echo starting %1
start %1
echo Any key to kill execution
pause >> NUL
taskkill /IM %1 /t
答案 1 :(得分:0)
taskkill /F /IM iexplore.exe
/F
强制杀死。
哪些可以杀死子进程 例如https://www.windows-commandline.com/taskkill-kill-process/