Development C# Tutorial

using System;
using System.Diagnostics;
    class ProcessMonitorSample
    {
        public static void Main()
        {
            Process myProcess = null;
            myProcess = Process.Start("NotePad.exe");
            do
            {
                if (!myProcess.HasExited)
                {
                    myProcess.Refresh();
                    Console.WriteLine("{0} -", myProcess.ToString());
                    Console.WriteLine("physical memory usage: {0}",myProcess.WorkingSet64);
                    Console.WriteLine("base priority: {0}",myProcess.BasePriority);
                    Console.WriteLine("priority class: {0}",myProcess.PriorityClass);
                    Console.WriteLine("user processor time: {0}",myProcess.UserProcessorTime);
                    Console.WriteLine("privileged processor time: {0}",myProcess.PrivilegedProcessorTime);
                    Console.WriteLine("total processor time: {0}",myProcess.TotalProcessorTime);
                    Console.WriteLine("PagedSystemMemorySize64: {0}",myProcess.PagedSystemMemorySize64);
                    Console.WriteLine("PagedMemorySize64: {0}",myProcess.PagedMemorySize64);
                    Console.WriteLine(myProcess.PeakPagedMemorySize64);
                    Console.WriteLine(myProcess.PeakVirtualMemorySize64);
                    Console.WriteLine(myProcess.PeakWorkingSet64);
                    if (myProcess.Responding)
                    {
                        Console.WriteLine("Status = Running");
                    }
                    else
                    {
                        Console.WriteLine("Status = Not Responding");
                    }
                }
            }
            while (!myProcess.WaitForExit(1000));
            Console.WriteLine("Process exit code: {0}",myProcess.ExitCode);
        }
    }