【问题标题】:Windows - Script to end a process like the task manager doesWindows - 像任务管理器一样结束进程的脚本
【发布时间】:2016-09-20 07:00:10
【问题描述】:

我遇到了一个有时无法正确退出的程序的问题。我仍在努力修复它,但我需要一种解决方法才能暂时终止该进程。

问题是我无法使用以下命令杀死它:

taskkill /PID <pid> /T /F

我有一个错误:“没有正在运行的任务实例”

但是,可以通过打开任务管理器并从这里停止进程来杀死它。

所以我想知道任务管理器发送什么命令来结束可以在脚本中使用的进程?或者可能是另一种方法?

编辑:问题的图片

它是用法语写的,翻译是:

Error : process with PID 9664 <child of process with PID 4920> can't be stopped
Cause : There is no running instance of the task

【问题讨论】:

  • 您确定您的 PID 正确吗?此消息只能表示您获得了错误的进程 ID。你能举例说明你是如何称呼它的吗?
  • 您是否考虑过明显的问题,即您传递了错误的 PID?为什么你认为 OS 有问题?您是如何找到 PID 的?
  • 如果使用正确的 PID,Taskkill 可以正常工作。您的目标进程是否正在实际运行?很可能它在您执行命令之前已经结束。您使用的是之前存储的 PID 值吗?
  • 我添加了一张图片,尽管它是用法语写的。 PID是一个很好的。该进程仍在任务列表中,但应用程序不再运行,因为我退出了它。但是当我退出它时,我知道有时应用程序会崩溃,这似乎会导致这种问题。崩溃与错误有关:“无法使 qopenglcontext 在不同的线程中成为当前线程”,我目前也在处理

标签: windows kill-process taskmanager


【解决方案1】:

vbscript.vbs

task="process.exe"
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & task & "'",,48) 
For Each objItem in colItems 
    'Wscript.Echo "-------------------------------------------"
    'Wscript.Echo "CommandLine: " & objItem.CommandLine
    'Wscript.Echo "Name: " & objItem.Name
    'Wscript.Echo "PID: " & objItem.ProcessId
    'Wscript.Echo "StartTime: " & objItem.CreationDate
    StartTime=objItem.CreationDate
    Y=Mid(StartTime,1,4)
    Mo=mid(StartTime,5,2)
    D=mid(StartTime,7,2)
    H=mid(StartTime,9,2)
    M=mid(StartTime,11,2)
    S=mid(StartTime,13,2)
    'Wscript.Echo M & "/" & D & "/" & Y & " " & H & ":" & M & ":" & S
    Q=Cdate(Mo & "/" & D & "/" & Y & " " & H & ":" & M & ":" & S)
    elapsed=DateDiff("s", Q, Now())
    'Wscript.Echo  Now() & vbtab & Q  & vbtab & elapsed
    'If process is older then 1 min then terminate
    If elapsed> 60 and lcase(objItem.Name) ="cscript.exe" then
        Wscript.Echo "Terminate:" & " " & objItem.CreationDate & " " & objItem.CommandLine
        objItem.Terminate()
    End if
Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多