2009-11-25 22 views
27

Gần đây tôi đã nâng cấp máy phát triển của mình từ Windows XP lên Windows 7. Làm cách nào để biết quy trình w3wp.exe thuộc về App Pool nào trên máy tính để bàn chạy Windows 7?Xác định quá trình w3wp.exe thuộc về App Pool nào trong Windows 7/IIS7.5?

Nhưng những gì về trên desktop của tôi?

Trả lời

54

Nếu bạn mở Trình quản lý IIS, hãy chuyển đến nút gốc trong cây bên trái đại diện cho máy tính của bạn (nên được gắn nhãn là tên máy tính của bạn).

Trong chế độ xem tính năng ở bên phải, bạn sẽ thấy một phần được gọi là IIS. Theo đó bạn sẽ thấy Worker Processes. Chọn nó và nó sẽ cho bạn thấy tất cả các tiến trình công nhân đang chạy và một số thông tin cơ bản, bao gồm ProcessId.

Bạn có thể tương quan ProcessId với quy trình đối sánh trong tab Processes trong Task Manager (hiển thị các tiến trình từ tất cả người dùng và bao gồm cột ProcessId trong kết quả).

+0

lớn hướng dẫn, cảm ơn! – wweicker

+0

Wow, không bao giờ biết điều này đã tồn tại! Người đàn ông tốt: o) –

+0

Tuyệt vời, không cần gỡ lỗi roulette. –

20

Bạn cũng có thể truy cập Trình quản lý tác vụ và thêm các cột PIDDòng lệnh để xem thông tin bạn cần.

enter image description here

Nội dung bị bôi đen chứa tên của các quy trình riêng lẻ.

Tôi thấy quy trình làm việc này hơi cồng kềnh hơn là phải điều hướng khỏi những gì tôi có thể xem trong IIS chỉ để xem thông tin này (để sau đó phải quay lại vị trí của tôi là).

+2

Tôi thích điều này. Với các phím tắt (Ctrl-Shift-Escape, "w3"), điều này nhanh hơn rất nhiều so với việc kích hoạt trình quản lý IIS và sử dụng một vài cú nhấp chuột ở đây và ở đó để làm cho nó cung cấp cho bạn thông tin. Và nó tự động làm mới. – sehe

+0

@sehe Cảm ơn bạn đã tắt công việc! –

2

Tôi biết đây là một bài đăng cũ, nhưng đây là cách liệt kê hồ bơi ứng dụng và xử lý ID bằng mã C#.

void Main() 
{ 
    using (var serverManager = new ServerManager()) 
    { 
     foreach (var appPool in serverManager.ApplicationPools) 
     { 
      string.Format("App pool name = {0}", appPool.Name).Dump(); 

      foreach (var workerProcess in appPool.WorkerProcesses) 
      { 
       string.Format("Process id = {0}", workerProcess.ProcessId).Dump(); 
      } 
     } 

     "Done".Dump(); 
    } 
} 

Hãy chắc chắn rằng bạn tham khảo Microsoft.Web.Administration.dll trong% windir% \ system32 \ inetsrv.

Nếu bạn không có LINQPad, thay thế các bãi với Console.WriteLine (s)

Các vấn đề liên quan