gpt4 book ai didi

iis - 识别给定应用程序池的 w3wp System.Diagnostics.Process

转载 作者:行者123 更新时间:2023-12-02 14:34:16 29 4
gpt4 key购买 nike

我的服务器上运行的网站很少。

我的应用程序中有一个“诊断”页面,显示当前进程的内存量(非常有用)。

现在这个应用程序已“链接”到另一个应用程序,我希望我的诊断页面能够显示另一个 w3wp 进程的内存量。

为了获取内存量,我使用了一个简单的代码:

var process = Process.GetProcessesByName("w3wp");
string memory = this.ToMemoryString(process.WorkingSet64);

如何识别我的第二个 w3wp 进程,了解其应用程序池?

我找到了相应的帖子,但没有合适的答案: Reliable way to see process-specific perf statistics on an IIS6 app pool

谢谢

最佳答案

您可以使用WMI识别给定 w3wp.exe 进程属于哪个应用程序池:

var scope = new ManagementScope(@"\\YOURSERVER\root\cimv2");
var query = new SelectQuery("SELECT * FROM Win32_Process where Name = 'w3wp.exe'");
using (var searcher = new ManagementObjectSearcher(scope, query))
{
foreach (ManagementObject process in searcher.Get())
{
var commandLine = process["CommandLine"].ToString();
var pid = process["ProcessId"].ToString();
// This will print the command line which will look something like that:
// c:\windows\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipm49f1522c-f73a-4375-9236-0d63fb4ecfce -t 20 -ap "NAME_OF_THE_APP_POOL"
Console.WriteLine("{0} - {1}", pid, commandLine);
}
}

关于iis - 识别给定应用程序池的 w3wp System.Diagnostics.Process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160726/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com