.NET Core Get System Platform Environment Information and Process Information

2020年2月26日 94点热度 6人点赞 0条评论
内容目录

.NET Core does not have the functionality to obtain CPU usage and other information on Linux, so don't hold your breath.

        static void Main(string[] args)
        {
            Console.WriteLine("System Runtime Status");
            var proc = Process.GetCurrentProcess();
            var mem = proc.WorkingSet64;
            var cpu = proc.TotalProcessorTime;
            Console.WriteLine("Current process memory used: {0}, CPU run time: {1}",
                mem / 1024.0, cpu.TotalMilliseconds);
            Console.WriteLine($"Current process physical memory amount: kb { Environment.WorkingSet / 1204}");

            Console.WriteLine("\nSystem Runtime Platform: ");
            Console.WriteLine("Runtime Framework: " + RuntimeInformation.FrameworkDescription);
            Console.WriteLine("Operating System: " + RuntimeInformation.OSDescription);
            Console.WriteLine("Operating System Version: " + Environment.OSVersion.ToString());
            Console.WriteLine("Platform Architecture: " + RuntimeInformation.OSArchitecture);

            //
            Console.WriteLine();
            Console.WriteLine("-- Runtime Environment --");

            //  <!-- Keep this information secure! -->
            Console.WriteLine("Machine Name: " + Environment.MachineName);
            Console.WriteLine("User Domain Name: " + Environment.UserDomainName);
            //  <!-- Keep this information secure! -->
            string[] drives = Environment.GetLogicalDrives();
            Console.WriteLine("Logical Drives: {0}", String.Join(", ", drives));
            Console.WriteLine("System Directory: " + Environment.SystemDirectory);

            Console.WriteLine("System Uptime (milliseconds): " + Environment.TickCount);

            //  <!-- Keep this information secure! -->

            Console.WriteLine("Running in Interactive Mode: " + Environment.UserInteractive);

            //  <!-- Keep this information secure! -->
            Console.WriteLine("Current Associated Username: " + Environment.UserName);

            Console.WriteLine("Web Program Core Framework Version: " + Environment.Version.ToString());

            string querySystemDrive = "System Drive Location: %SystemDrive%";
            string querySystemRoot = "System Root Directory: %SystemRoot%";
            Console.WriteLine(Environment.ExpandEnvironmentVariables(querySystemDrive));
            Console.WriteLine(Environment.ExpandEnvironmentVariables(querySystemRoot));

            Console.WriteLine("\nSystem Variable List: ");
            IDictionary environmentVariables = Environment.GetEnvironmentVariables();
            foreach (DictionaryEntry de in environmentVariables)
            {
                Console.WriteLine("  {0} = {1}", de.Key, de.Value);
            }

            Console.ReadKey();
        }

痴者工良

高级程序员劝退师

文章评论