Batch file Windows批处理文件在后台运行,并自动终止任何无响应的程序
我使用的应用程序一直挂起,使我的计算机没有响应,此时我将无法打开任务管理器或执行任何其他操作。我必须硬重启我的系统 我遇到了一些批处理命令,它可以杀死没有响应的程序Batch file Windows批处理文件在后台运行,并自动终止任何无响应的程序,batch-file,process,thread-safety,background-process,windows-7-x64,Batch File,Process,Thread Safety,Background Process,Windows 7 X64,我使用的应用程序一直挂起,使我的计算机没有响应,此时我将无法打开任务管理器或执行任何其他操作。我必须硬重启我的系统 我遇到了一些批处理命令,它可以杀死没有响应的程序 taskkill /f /fi "status eq not responding" 我知道如何创建批处理文件 有人能建议如何始终在后台运行此批处理命令,并搜索那些没有响应的程序吗 非常感谢您的帮助。批处理程序从未设计为在windows的后台运行。它们总是简单地执行一次 对于这种类型的场景,我所做的是将windows计划任务设置为
taskkill /f /fi "status eq not responding"
我知道如何创建批处理文件
有人能建议如何始终在后台运行此批处理命令,并搜索那些没有响应的程序吗
非常感谢您的帮助。批处理程序从未设计为在windows的后台运行。它们总是简单地执行一次 对于这种类型的场景,我所做的是将windows计划任务设置为每X分钟运行一次,其中X是检查环境中进程的适当间隔
希望有帮助 您可以创建计划任务,以便在Windows中定期运行。查找Windows任务计划程序 另一种方法是启动此批处理文件并在无限循环中运行此命令。前
:start
taskkill /f /fi "status eq not responding"
sleep 600
goto start
这将每10分钟运行一次命令。如果我的程序导致计算机冻结,那么在当时,调度程序还会执行该任务吗?未知。你应该能够始终控制你的计算机(理论上无论如何)。如果您不能,那么任务调度器也不能。我必须试一试。您可以在始终运行的批处理文件中使用
timeout
命令(或者如果您不喜欢vbscript窗口)。是的,这取决于冻结的情况。听起来不是一个非常安全的程序,我猜这是在桌面上,而不是任何类型的服务器上。@RyanMcArthur应用程序在windows桌面上,但在命令提示符下键入timeout/?
与服务器保持交互。键入help/?
以获取常用命令的列表。它们都可以是命令/?
。一些较新的命令具有子命令,因此reg/?
和reg query/?
。要访问任务计划程序-schtasks/?
或schtasks/query/?
(有时不一致/
有时不一致)。因此,设置一个标签(:MyLabel
然后是taskkill命令,然后是timeout
然后是转到MyLabel
。注意:将imagename用作不响应仅表示程序已5秒未从windows拾取消息。sleep
不是windows命令提示符中的本机命令;请改用timeout/t 600/NOBREAK
。同意d、 但是sleep.exe作为MS eco系统的一部分已经有很长时间了,我不知道有哪个版本的windows不包含它。