如何检查进程是否被暂停? - 没有回应

时间:2017-11-01 13:22:45

标签: c#

这不是同一个问题。这是关于暂停的进程,而不是没有响应的进程。另一个问题&答案甚至没有提到暂停的流程

我正在编写一个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. 

就我所见,没有一个“暂停”。是否有其他方法可以检查暂停的流程?

ThreadState Enumeration

1 个答案:

答案 0 :(得分:1)

通过它const url='myurl'; Bitly.shorten(url) .then( results =>{ // Do something with your new, shorter url... const obj = JSON.parse(results); //having a global variable is not a good idea // shorturl= obj.data.url; console.log("got data:",obj.data.url); return obj.data.url; } ) .then( shorturl => { //do something with short url } ) .then( undefined ,reject =>//handle any errors console.error("Failed:",reject) ); 确定线程等待之后,您可以检查ThreadState的{​​{3}}属性并查看是否< em> 表示WaitReason

显然,执行这些测试时存在时间问题,因为其他过程不受您控制。