当进程无法终止时,如何排除终端服务/CITRIX 会话故障?

当进程无法终止时,如何排除终端服务/CITRIX 会话故障?

在 Windows 2003 sp2 上运行 CITRIX 演示服务器场,版本 4.5.6。

在 CITRIX 访问管理控制台中,我有时会得到一个显示其处于关闭状态的会话 - 但没有与之相关的任何正常信息(用户名、应用程序、客户端名称、空闲时间等)。

它确实说明了它在哪些服务器上,所以我检查了该服务器的终端服务管理器。我可以看到关闭的会话,但无法重置它。我得到:

(错误 7024 - 无法完成请求的操作,因为终端连接当前正忙于处理连接、断开连接、重置或删除操作。)

所以我转到任务管理器并查找在该会话 ID 下运行的进程。我看到它是我发布的应用程序之一,但当我尝试结束该进程时 - 它什么也不做,进程仍然存在。

有什么方法可以不重启服务器就摆脱这些会话吗?

答案1

连接到有问题的服务器(RDP 或 psexec 到命令行)并执行qwinsta。它将向您显示关闭的侦听器(通常是会话 6553x)。记下该号码,然后rwinsta 6553x以 6553x 作为关闭侦听器的号码运行。

答案2

我已经处理这个问题一段时间了,昨天是第一次成功。我下载了 Daphne 的便携式应用程序版本。将其复制到服务器后,我使用 qwinsta 查找已关闭用户的会话 ID。然后我使用 tasklist 查看已关闭用户的 PID。然后使用 Daphne,我开始通过与已关闭用户关联的 PID 终止进程。我试图终止管理员拥有的用户会话 ID 的进程,如 winlogon.exe,但它们在几秒钟后又回来了。但是,如果您终止已关闭用户拥有的进程,在本例中为 winword.exe 和另一个已发布的应用程序,Daphne 能够终止该进程,Windows server 2003 关闭其余进程。关闭的会话消失了,访问管理控制台恢复正常活动。

答案3

我也遇到过这个经常发生的问题,当这个问题发生时,我甚至无法用进程资源管理器终止用户的进程,那么使用 Daphne 时有什么区别?

另外,解决此问题的方法是检查以下内容:

  • 它是一个流式应用程序还是已发布的应用程序?(如果是流式应用程序,您可以使用最新的离线插件进行检查)
  • 涉及哪些流程?它们是相同的流程吗?然后您可以查找涉及您的终端服务器版本流程的 Microsoft KB
  • 检查此问题是否是最新 Citrix 汇总包中已修复的问题

答案4

影响:由于 vtdw30.dll 无法释放足够的内存,csrss.exe 进程可能会出现高 CPU 消耗。[来自 PSE450R03W2K3030][#193786]

解决: https://support.citrix.com/article/CTX123772

相关内容