using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace exerunexplorer
{
class Program
{
static void Main(string[] args)
{
string read = string.Empty;
while (!read.StartsWith("x"))
{
foreach (Process process in Process.GetProcesses())
{
if (args.Length == 0)
{
PrintThread(process);
}
else
{
if (process.ProcessName == args[0])
{
PrintThread(process);
}
}
}
read = Console.ReadLine();
}
}
static void PrintThread(Process process)
{
Console.WriteLine(string.Format("{0} {1}", process.ProcessName, process.Threads.Count));
Console.WriteLine("****");
foreach (ProcessThread pt in process.Threads)
{
Console.WriteLine(string.Format("{0} {1}", pt.Id, pt.ThreadState));
}
Console.WriteLine("");
}
}
}