有时我们的客户会使用“ghost”应用程序(这意味着当我们在很长一段时间后关闭应用程序时(比如72小时以上),我们有时会看到视觉上已关闭但仍在进程列表中的应用程序。
由于我们无法轻松复制,我们想知道哪个线程仍在运行。所以我们想提供一个非常小的工具,我们可以在其中选择一个进程(选择一个“ghost”),然后显示我们可以获得的所有信息(主要运行的线程名称)。
所以:
答案 0 :(得分:2)
答案 1 :(得分:2)
Justin Harvey提到,Process explorer是一个很好的解决方案。
如果您想提供自己的工具,可能会对以下内容感兴趣:
Process.GetProcessByName() 和Process.Threads
用法
var process = Process.GetProcessByName("myprocess").FirstOrDefault();
var threads = process.Threads;
答案 2 :(得分:1)
虽然您可以访问其他进程的线程信息:
Process[] p = Process.GetProcessesByName("YourProcess");
foreach (ProcessThread thread in p[0].Threads)
{
Console.WriteLine(thread.Id);
}
您无法访问该主题的名称,但您可以检索ProcessThread课程中提供的信息。