.net core 获取当前程序资源占用
时间: 2023-10-01 11:03:16 浏览: 44
你可以使用System.Diagnostics.Process类的实例来获取当前进程的资源占用情况。以下是一个示例代码,可以获取当前进程的CPU和内存占用情况:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process currentProcess = Process.GetCurrentProcess();
Console.WriteLine($"CPU: {currentProcess.TotalProcessorTime}");
Console.WriteLine($"Memory: {currentProcess.WorkingSet64}");
}
}
```
其中,TotalProcessorTime属性获取当前进程的CPU占用时间,WorkingSet64属性获取当前进程的内存占用量。你可以根据需求选择使用这些属性中的一个或多个来获取当前程序的资源占用情况。
相关问题
.net core 获取当前程序线程
您可以使用Thread类的CurrentThread属性来获取当前正在执行的线程。在 .NET Core 中,您需要导入System.Threading命名空间,然后使用以下代码获取当前线程:
```
using System.Threading;
Thread currentThread = Thread.CurrentThread;
```
这将返回一个Thread对象,该对象表示当前正在执行的线程。您可以使用该对象来访问线程的各种属性和方法。
.net core 获取当前程序的Tcp连接
您可以使用 System.Net.NetworkInformation 命名空间中的 API 来获取当前程序的 TCP 连接。以下是一个简单的 C# 代码示例:
```csharp
using System.Net.NetworkInformation;
// 获取当前程序的所有 TCP 连接
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections();
// 输出每个连接的本地和远程 IP 地址和端口号
foreach (TcpConnectionInformation connection in tcpConnections)
{
Console.WriteLine("{0}:{1} <==> {2}:{3}",
connection.LocalEndPoint.Address, connection.LocalEndPoint.Port,
connection.RemoteEndPoint.Address, connection.RemoteEndPoint.Port);
}
```
这段代码会输出当前程序所有的 TCP 连接的本地和远程 IP 地址和端口号。您可以根据需要修改输出格式、筛选条件等。需要注意的是,这段代码只能获取当前程序的 TCP 连接,不能获取其他进程的连接。