【发布时间】:2017-11-01 13:22:44
【问题描述】:
我正在编写一个 C# 控制台应用程序来查找是否有任何挂起的 OUTLOOK 进程。有时,在我们的终端服务器上,Outlook 会锁定会话并在任务管理器中卡住为“暂停”。
我在一个网站上找到此代码作为检查记事本进程是否暂停的示例:
var proc = Process.GetProcessesByName("notepad");
var isSuspended = proc[0].Threads[0].ThreadState == ThreadState.Suspended;
我尝试了这个确切的代码,但唯一可能的 ThreadStates 是:
- Initalized
- Ready
- Running
- Standby
- Terminated
- Transition
- Unknown
- Wait.
据我所知,没有“暂停”。是否有替代方法来检查挂起的进程?
【问题讨论】:
-
当 UI 线程被阻塞时发生。你必须找到 ui 线程。
-
@ArtavazdBalayan 我也这么认为,但我看不到。 imglnk.uk/img?i=CTcfpo.png
-
这不是重复的!建议的问题不是关于暂停的进程,而是关于不响应的进程,这是不同的。一个进程可以被挂起而不是不响应。
-
感谢您在不检查的情况下将其标记为重复。我讨厌不得不向同一个问题发送垃圾邮件。
标签: c#