如何从.BAT文件停止进程?
要终止你知道名的过程中,尽量:
taskkill /IM notepad.exe
这将要求它关闭,但它可能会拒绝,提议“保存更改”,等等。如果你要强行杀死它,尝试:
taskkill /F /IM notepad.exe
工程就像一个魅力。事实上,没有/ F的选项要求程序很好地关闭。然后程序仍然可以决定不关闭。当关闭按钮被按下时,我有一个程序最小化为托盘图标,这正是发生的情况。/F选项强制退出它。 – 2015-07-29 08:37:35
'taskkill/F/IM notepad.exe'在大多数情况下对我来说更好。 'taskkill/F/IM notepad.exe'从我没有保存对话框的任务中引发错误。它们没有正确关闭,并且可能发生不同的事情(即使关闭对话框后程序仍可能保持打开状态)。我不想在后台生成一个错误,所以我推荐'/ F/IM',除非它是Word.exe或其他东西。 – 2015-12-15 05:14:42
当您从一个批处理文件启动一个进程,它开始与朝启动它(因为这将完成在此期间运行,像批处理文件没有暗示单独的进程父进程ID不会帮助你)。
如果您知道进程名称,并且它在所有正在运行的进程中都是唯一的,那么可以使用taskkill
,如@IVlad在评论中的建议。
如果它不是唯一的,你可能想看看工作。这些终止的所有衍生子进程终止。
由于TASKKILL可能不可用在Windows的一些家庭/基本版本在这里一些替代方案:
TSKILL processName
或
TSKILL PID
有记住,processName
不应该有.exe
后缀是有限的到18个字符。
另一种选择是WMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate
WMIC提供了更大的灵活性比TASKKILL。随着wmic Path win32_process get
你可以看到你可以过滤可用的Fileds。
为什么不使用PowerShell?
Stop-Process -Name notepad
如果你是在一个批处理文件:
powershell -Command "Stop-Process -Name notepad"
powershell -Command "Stop-Process -Id 4232"
的taskkill/F/IM的notepad.exe这是杀死从任务管理器任务的最佳方式。
'taskkill -im exename.exe'将强制终止进程。这是你想要的吗? – IVlad 2010-05-22 16:31:38
[任何方式来编写Windows .bat文件来终止进程?]可能的重复(http://*.com/questions/33822/any-way-to-write-a-windows-bat-file-to-杀死进程) – 2016-06-23 16:06:28