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(""); } } }