是否可以确定进程运行的时间

时间:2013-08-04 02:58:06

标签: c# process

在C#中,是否可以获取正在运行的进程列表(不是服务进程,而是实际应用程序)并获取应用程序启动时的DateTime?或TimeSpan甚至是进程运行多长时间的整数?

2 个答案:

答案 0 :(得分:14)

Process.GetProcesses将检索正在运行的进程列表。

每个Process都有StartTime属性

  

获取关联进程启动的时间。

只需从DateTime.Now中减去该值即可确定流程运行的时间。

static void Main(string[] args)
{
    var procs = Process.GetProcesses();
    foreach (var proc in procs) {
        TimeSpan runtime;
        try {
            runtime = DateTime.Now - proc.StartTime;
        }
        catch (Win32Exception ex) {
            // Ignore processes that give "access denied" error.
            if (ex.NativeErrorCode == 5)
                continue;   
            throw;
        }

        Console.WriteLine("{0}  {1}", proc, runtime);
    }

    Console.ReadLine();
}

答案 1 :(得分:-1)

您可以使用Process.StartTimeProcess.EndTime