无法从任务管理器终止任务

无法从任务管理器终止任务

我正在尝试删除 Windows 10 计算机上正在运行的进程,但在任务管理器中看不到它。我能看到该进程的唯一方法是使用命令提示符中的“任务列表”或通过 Process Hacker。该进程在完全关闭和断电后仍然存在,甚至在夜间也是如此,并且在重新启动时具有与之前相同的 PID。

该进程显示在与其他任何会话 ID 不同的会话 ID 上,并且此会话 ID 在关闭后不会改变,没有其他进程在此会话 ID 上运行。

我尝试过“Taskkill /PID /F”,但它返回消息“15720 的结束进程失败:访问被拒绝。”。我是机器上的管理员用户。

在其他帖子(例如在 Windows 中真正终止进程)之后,我尝试使用 ProcessHacker 终止任务,但我认为这也失败了,因为它在底层运行相同的命令。但是 ProcessHacker 中的属性显示父级是“不存在的进程 (19812)”。

关于如何在这种状态下终止进程,有什么想法吗?

编辑以添加额外细节(18/​​09/21):

我已附上“任务管理器”的图片,以显示未显示的 PID,以及“ProcessHacker”中显示的 PID

任务管理器图像 进程黑客

如您所见,该进程未显示在任务管理器中,并且在重新启动后保留相同的 PID,这是我的问题。此进程已在我的计算机上“运行”了近 3 天,并且在 5 次以上关机后仍保持相同的 PID。它在“会话 ID”7 中运行,据我所知,这不是我计算机上的有效会话。以下是 Process Hacker 报告的属性,如您所见,父进程被报告为不存在的进程。进程黑客属性

如果我尝试在“Process Hacker”中终止进程,我会收到此消息进程黑客终止消息

该流程是我工作的公司编写的一项服务,在客户站点的多台机器上运行。它是用 C# 编写的,不确定您还需要什么其他信息,但很乐意提供。

根据评论的要求编辑了更多细节(19/09/21)

当我将该进程称为服务时,我试图区分导致问题的后台进程和调用该进程的进程。该进程不是 Windows 服务。

该过程使用的代码是标准 C# 代码,我已将其发布在下面:

System.Diagnostics.Process[] existing = System.Diagnostics.Process.GetProcessesByName("CMSDocumentContentIndexingService");
foreach (System.Diagnostics.Process process in existing)
            {
                if (string.Compare(FileSystemLayer.GetFilePath(process.MainModule.FileName),
                    FileSystemLayer.GetFilePath(Assembly.GetExecutingAssembly().Location), true) == 0)
                {
                    isRunning = true;
                    break;
                }
            }

出错的代码是这个“process.MainModule.FileName”,我推测是因为找不到父级。

我已根据要求添加了“Process Explorer”的屏幕截图这里。该进程在关闭后再次持续存在,并且仍然具有 PID 15720。如果我尝试“终止进程”,我会收到相同的错误消息“访问被拒绝”

最后更新 经过 4 天多的时间和 10 多次关闭后,该进程终于被删除了。我根本无法影响该进程,也没有人能够提出解决方案。所以我的假设是经过几天后发生了一些整理过程。我想我应该发布我的解决方案,以防有人遇到类似的情况。

相关内容