所以我有一个流程,我从一个bat文件开始。如何阻止它?
答案 0 :(得分:38)
要终止您知道姓名的流程,请尝试:
taskkill /IM notepad.exe
这将要求它关闭,但它可能会拒绝,提供“保存更改”等。如果你想强行杀死它,请尝试:
taskkill /F /IM notepad.exe
答案 1 :(得分:4)
由于TASKKILL可能在Windows的某些Home / basic版本中不可用,所以有一些替代方案:
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
,您可以看到可以过滤的可用文件。
答案 2 :(得分:1)
当您从批处理文件启动进程时,它作为一个单独的进程启动,没有提示启动它的批处理文件(因为这将在此期间完成运行,像父进程ID这样的东西将无济于事你)。
如果您知道进程名称,并且它在所有正在运行的进程中都是唯一的,则可以使用taskkill
,就像@IVlad在评论中建议的那样。
如果它不是唯一的,您可能需要查看作业。它们在终止时终止所有生成的子进程。
答案 3 :(得分:0)
为什么不使用PowerShell?
Stop-Process -Name notepad
如果您在批处理文件中:
powershell -Command "Stop-Process -Name notepad"
powershell -Command "Stop-Process -Id 4232"
答案 4 :(得分:0)
taskkill / F / IM notepad.exe 这是从任务管理器中删除任务的最佳方法。
答案 5 :(得分:0)
这是如何从.bat文件中杀死一个或多个进程。
步骤1.打开首选的文本编辑器并创建一个新文件。
步骤2。要杀死一个进程,请使用'taskkill'命令,并带有'/ im'参数,该参数指定要终止的进程的映像名称。示例:
taskkill /im examplename.exe
要“强制”杀死进程,请使用“ / f”参数,该参数指定强制终止进程。示例:
taskkill /f /im somecorporateprocess.exe
要终止多个进程,请冲洗并重复步骤2的第一部分。示例:
taskkill /im examplename.exe
taskkill /im examplename1.exe
taskkill /im examplename2.exe
或
taskkill /f /im examplename.exe
taskkill /f /im examplename1.exe
taskkill /f /im examplename2.exe
步骤3.使用.bat扩展名将文件保存到所需位置。
步骤4.单击新创建的bat文件以运行它。
答案 6 :(得分:0)
您可以制作两个批处理文件。一个名为 runtaskkill.bat,另一个名为 taskkillapp.bat。在文件 runtaskkill.bat 中添加以下代码:
call runtaskkill.bat [filenamehere]
。
然后到 taskkill.bat:
taskkill /f /im %1
。
只要确保两个文件在同一个目录(文件夹)中即可。