Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 需要使用批处理文件从更改PID中获取进程名称_Batch File_Cmd - Fatal编程技术网

Batch file 需要使用批处理文件从更改PID中获取进程名称

Batch file 需要使用批处理文件从更改PID中获取进程名称,batch-file,cmd,Batch File,Cmd,我让随机应用程序冻结,虽然我可以用批处理文件轻松结束未响应的任务,但我正在尝试诊断哪些应用程序导致了问题。但是我不能引用已经被PID终止的任务。我希望代码在终止进程之前或之后显示有问题的应用程序 这是我一直使用到现在为止,它确实工作,并显示PID。但它不显示应用程序名称 @echo off :Start taskkill /f /fi "status eq not responding" TIMEOUT /t 30 /nobreak goto Start **This is what

我让随机应用程序冻结,虽然我可以用批处理文件轻松结束未响应的任务,但我正在尝试诊断哪些应用程序导致了问题。但是我不能引用已经被PID终止的任务。我希望代码在终止进程之前或之后显示有问题的应用程序

这是我一直使用到现在为止,它确实工作,并显示PID。但它不显示应用程序名称

@echo off

:Start

taskkill /f /fi "status eq not responding"

TIMEOUT /t 30 /nobreak

goto Start


**This is what i've been trying to use to get the offending application name**

    :Start
    Set %processPID% = taskkill.exe /fi "status eq not responding"
    wmic process where "ProcessID=%processPID% get CommandLine, ExecutablePath
    taskkill.exe /f /fi "status eq not responding"
    TIMEOUT /t 5 /nobreak
    goto Start
这就是我在运行新代码时得到的结果

似乎未设置变量
processPID

C:\Users\razra\Desktop>Set=taskkill.exe/fi“状态均衡未响应” 该命令的语法不正确

C:\Users\razra\Desktop>wmic进程,其中“ProcessID=get命令行,ExecutablePath ,-无效的别名动词


如果您愿意尝试
PowerShell
,则可以实现相同的功能

  • 通过具有
    响应
    属性
    false
    的进程进行循环
  • 按ID停止进程

    Foreach($proc in Get-Process | Where-Object {$_.Responding -eq $false}){
       Write-Host $proc.ID, $proc.Name
       Stop-Process $proc.ID
    }
    
  • 使用扩展名
    ps1
    保存代码,并使用
    PowerShell.exe-File

  • 如果您试图诊断导致问题的应用程序,是否检查了事件查看器中的应用程序日志,它甚至有一个。
    Set%processPID%=taskkill.exe/fi“未响应”状态“
    无法工作;请看一看:事件查看器是我第一次使用的。当出现问题时,它倾向于引导您使用windows服务,它只是假设是windows坏了,而不是其他什么东西坏了windows。感谢您提供有关CMD变量的信息,它帮助我决定继续使用powershell。