PowerShell 不会终止挂起的进程
PowerShell won't terminate hung process
我有一个场景,由于 Oracle 数据库,每个星期一早上都有一个进程卡住,所以我尝试创建一个 PowerShell 脚本到每个星期一 运行,但无论是否出现错误,该过程仍然存在.
我试图用于 "kill" 的行是:
Get-Process -Name ez0* -ComputerName $server | Stop-Process -Force
在没有 -ComputerName
的情况下也尝试在本地执行此操作。
无论是否有 -Force
,我都没有从这一行收到任何错误,它只是执行并继续。
只需执行 Get-Process
即可,我可以看到它,但我无法用 PowerShell 结束它。经过多次尝试,我远程登录到服务器,然后右键单击该进程并选择 "End task",效果很好。
这是一个奇怪的进程,因为它是最初的 8 个进程中的一个(基于内核),当您停止服务时,除了一个挂起的进程外,所有进程都会被删除。
尝试使用:
$termproc = (get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'"
$termproc.terminate()
如果您不想先检查变量中的进程,也可以只执行以下操作。
(get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'").terminate()
谢谢,蒂姆。
我有一个场景,由于 Oracle 数据库,每个星期一早上都有一个进程卡住,所以我尝试创建一个 PowerShell 脚本到每个星期一 运行,但无论是否出现错误,该过程仍然存在.
我试图用于 "kill" 的行是:
Get-Process -Name ez0* -ComputerName $server | Stop-Process -Force
在没有 -ComputerName
的情况下也尝试在本地执行此操作。
无论是否有 -Force
,我都没有从这一行收到任何错误,它只是执行并继续。
只需执行 Get-Process
即可,我可以看到它,但我无法用 PowerShell 结束它。经过多次尝试,我远程登录到服务器,然后右键单击该进程并选择 "End task",效果很好。
这是一个奇怪的进程,因为它是最初的 8 个进程中的一个(基于内核),当您停止服务时,除了一个挂起的进程外,所有进程都会被删除。
尝试使用:
$termproc = (get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'"
$termproc.terminate()
如果您不想先检查变量中的进程,也可以只执行以下操作。
(get-wmiobject -ComputerName $server -Class Win32_Process -Filter "name like 'ez0%'").terminate()
谢谢,蒂姆。