识别给定应用程序池的 w3wp System.Diagnostics.Process
我的服务器上运行的网站很少。
我在应用程序中有一个“诊断”页面,显示当前进程的内存量(非常有用)。
现在这个应用程序已“链接”到另一个应用程序,我希望我的诊断页面能够显示另一个 w3wp 进程的内存量。
为了获取内存量,我使用了一个简单的代码:
var process = Process.GetProcessesByName("w3wp");
string memory = this.ToMemoryString(process.WorkingSet64);
如何识别我的第二个 w3wp 进程,知道它的应用程序池?
我找到了相应的线程,但没有合适的答案: 查看进程的可靠方法- IIS6 应用程序池的具体性能统计信息
谢谢
I got few web sites running on my server.
I have a "diagnostic" page in an application that shows the amount of memory for the current process (very useful).
Now this app is 'linked' to another app, and I want my diagnostic page to be able to display the amot of memory for another w3wp process.
To get the amount of memory, I use a simple code :
var process = Process.GetProcessesByName("w3wp");
string memory = this.ToMemoryString(process.WorkingSet64);
How can I identify my second w3wp process, knowing its application pool ?
I found a corresponding thread, but no appropriate answer :
Reliable way to see process-specific perf statistics on an IIS6 app pool
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 WMI 来识别哪个应用程序池给定的
w3wp.exe
进程所属:You could use WMI to identify to which application pool a given
w3wp.exe
process belongs:您还可以使用 IIS ServerManager 组件获取 PID;方式,如果您需要在代码中访问它,而不需要重定向和解析控制台输出;
You can also get the PID using the IIS ServerManager component; way, if you need to access it in code, without redirecting and parsing console output;