當程序不會終止時,如何對終端服務/CITRIX 會話進行故障排除?
在 Windows 2003 sp2 上執行 CITRIX 展示伺服器場,版本 4.5.6。
在 CITRIX 訪問管理控制台中,我有時會收到一個會話,顯示它處於關閉狀態 - 但沒有與之關聯的正常資訊(使用者名、應用程序、客戶端名稱、空閒時間等)。
它確實說明了它在哪些伺服器上,所以我查看了該伺服器的終端服務管理器。我可以看到關閉會話,但無法重置它。我得到:
(錯誤 7024 - 請求的操作無法完成,因為終端連接目前正忙於處理連接、斷開、重置或刪除操作。)
所以我去任務管理器並查找在該會話ID下執行的程序。我看到它是我發布的應用程序之一,但是當我嘗試結束該過程時 - 它什麼也不做,並且該過程仍然存在。
有什麼方法可以在不重新啟動伺服器的情況下擺脫這些會話?
連接到有問題的伺服器(RDP 或 psexec 到命令行)並執行
qwinsta
. 它將向您顯示向下的偵聽器(通常是會話 6553x)。請注意該數字,然後rwinsta 6553x
以 6553x 作為向下偵聽器的編號執行。
我一直在處理這個問題一段時間,昨天是第一次成功。我下載了 Daphne 的攜帶式應用程序版本。將其複製到伺服器後,我使用 qwinsta 查找關閉使用者的會話 ID。然後我使用任務列表來查看宕機使用者的 PID。然後使用 Daphne,我開始通過與 down 使用者關聯的 PID 殺死程序。我試圖殺死管理員擁有的使用者會話 ID 的程序,例如 winlogon.exe,但它們只是在幾秒鐘後返回。但是,如果你殺死了宕機使用者擁有的程序,在本例中是 winword.exe 和另一個已發布的應用程序,Daphne 能夠殺死該程序並且 Windows Server 2003 關閉了其餘程序。關閉會話消失,訪問管理控制台恢復正常活動。