Các quy trình ArcMap.exe vẫn mở sau khi đóng ArcMap? [đóng cửa]


23

Tôi nhận ra rằng điều này đã xảy ra vài tháng trước khi tôi không thể thay đổi cấu trúc bảng trong một phiên bản ArcMap sau khi một phiên bản khác bị đóng. Ví dụ, khi tôi xóa hoặc thêm một số trường vào một lớp đối tượng trong ArcMap, lưu và đóng tài liệu và mở ArcCatalog và cố gắng xóa Lớp tính năng cụ thể đó, tôi đã gặp lỗi Xóa không thành công để xóa (các) đối tượng đã chọn. Điều này thường xảy ra khi một phiên bản ArcMap chứa các lớp mà tôi đang cố xóa sẽ được mở, vì vậy cách khắc phục là kích hoạt Trình quản lý tác vụ Windows và tiêu diệt các quy trình ArcMap.exe vì một số lý do vẫn được mở.

Bất kỳ ai khác có vấn đề này?

Hiện đang chạy SP3 và vấn đề chưa được giải quyết.

nhập mô tả hình ảnh ở đây


Tôi đang chạy một thiết lập tương tự trên một máy tương đương và tôi không có vấn đề này ở đó.


4
VÂNG! Xin vui lòng xem bài viết diễn đàn của tôi trên các diễn đàn ESRI. Tôi đang cố gắng tái tạo nó (có vẻ ngẫu nhiên ...) để có được một vé được mở bằng ESRI.
SaultDon

Bạn có bất kỳ tiện ích mở rộng của bên thứ 3 nào không? Tôi tự hỏi nếu một ngoại lệ trong IExtension.Shutdown có thể giải thích điều này.
Kirk Kuykendall

@kirk Tôi không có và chưa bao giờ cài đặt bất kỳ cài đặt nào của v10 này. Đây thậm chí là một cài đặt mới của windows7. Tương tự như bạn, điều này đã tồn tại từ trước SP1.
SaultDon

2
Bạn đang chạy gần 100 quy trình, nó có thể là bất cứ điều gì thực sự, nhưng tôi sẽ nghi ngờ nhất về trình quét vi-rút, phần mềm sao lưu và dịch vụ lập chỉ mục tìm kiếm.
blah238

@Kirk - không có tiện ích mở rộng nào cho thiết lập cụ thể này nhưng tôi sẽ kiểm tra lại khi tôi đi làm. Tôi có một vài công cụ bổ trợ của riêng tôi. Tôi có một thiết lập tương tự trên một máy Windows 7 khác có cùng tiện ích và không có vấn đề gì ở đó.
Jakub Sisak GeoGraphics

Câu trả lời:


18

Không phải lỗi của bạn và bạn không thể làm gì nhiều với nó. Tuy nhiên, nếu bạn tò mò về lý do, điều xảy ra là có một tham chiếu vòng tròn COM (rất có thể là một cái gì đó nghe một số nguồn sự kiện - như Trình chỉnh sửa) và khi các ứng dụng cố gắng thoát thì không thể, vì một số đối tượng đang giữ nhau còn sống. Đây có thể là từ một tiện ích mở rộng mà bạn đã cài đặt hoặc thậm chí từ chính mã ESRI. Điều này từng xảy ra mọi lúc và nó chỉ có thể tự biểu hiện trong một số điều kiện nhất định, giống như các lệnh nhất định được hiển thị trên thanh công cụ.

Từ một hướng dẫn ArcObjects cũ về các khái niệm COM :

Khi ứng dụng thoát, nó sẽ giải phóng tham chiếu mà nó giữ cho lệnh. Nếu lệnh cũng đóng vai trò là một sự kiện chìm, ứng dụng sẽ giữ một tham chiếu khác đến lệnh, không thể được giải phóng cho đến khi lệnh ngắt kết nối với nguồn. Vì lệnh không biết điểm mà tại đó nó có thể ngắt kết nối ngoài điểm hủy của chính nó, điều này gây ra một tham chiếu vòng tròn, theo đó ứng dụng không thể thoát mà không hủy lệnh và lệnh hủy của lệnh không bao giờ được gọi vì ứng dụng giữ tham chiếu đến lệnh . Điều này làm cho ứng dụng bị treo khi thoát.

Nếu bạn thậm chí còn tò mò hơn, hãy xóa (hoặc sao lưu) Normal.mxt của bạn, nó sẽ xóa sạch tất cả các tùy chỉnh và xem vấn đề này có còn tồn tại không.


3
+1 giải thích tốt. Làm cho tôi tự hỏi nếu đóng tất cả các lệnh trừ một, sau đó lưu và thoát và cố gắng tái tạo vấn đề. Tôi không nghĩ ICommand.OnCreate được gọi cho đến khi thanh công cụ hiển thị. Nếu bạn dần dần bật các thanh công cụ và lặp lại các bài kiểm tra, có lẽ bạn có thể thu hẹp danh sách các lệnh nghi ngờ của mình.
Kirk Kuykendall

Lời giải thích hay. Cảm ơn. @Kirk - Tôi có một công cụ của bên thứ 3 mà tôi đã quên (ArcBruTile) Tôi sẽ xóa nó. Bổ trợ của tôi thực sự làm một số sự kiện lắng nghe vì vậy tôi tự hỏi thanh công cụ của tôi có thể là nguồn gốc của vấn đề. Điều kỳ lạ là tôi có cùng các công cụ trên máy khác của mình cũng như cùng một bộ thanh công cụ mặc định được tải và tôi không gặp vấn đề này ở đó. Tôi sẽ cố gắng bắt đầu với một Normal.mxt mới, đó là một gợi ý hay.
Jakub Sisak GeoGraphics

Ngoài ra, đôi khi khi hành động chỉ hiển thị có thể không nhất thiết đủ để gây ra tham chiếu vòng tròn - nó có thể yêu cầu một số sự kiện xảy ra để điều kiện đó tự biểu hiện. Ví dụ, lệnh có thể hiển thị và mọi thứ đều ổn và chờ đợi sự kiện "StartEditing" xảy ra. Khi điều đó kích hoạt, nó quyết định bắt đầu lấy các tham chiếu đến những thứ khác - và ở đó nó thiết lập các tham chiếu khác gây ra tình trạng vòng tròn. Đây là một vấn đề kinh điển với các phần mở rộng VB và thậm chí nhiều hơn với các lệnh .NET vì bộ sưu tập rác không xác định
Ragi Yaser Burhum

2

Cảm ơn bạn @Kirk và @Ragi vì đã giải quyết vấn đề này! Đây là những gì tôi đã làm trong khi giám sát các quy trình quản lý tác vụ:

  1. Đã sao lưu và xóa bình thường.mxt
  2. Bắt đầu Tài liệu ArcMap mới (ArcMap được mở trong cấu hình mặc định)
  3. ArcMap đã đóng (Quá trình đóng như mong đợi)
  4. Đã thêm Toobars: Nhà phân tích 3D, Chỉnh sửa nâng cao, Công cụ khung dữ liệu, Vẽ, Chỉnh sửa Vertice, Trình chỉnh sửa, Georeferenceing, Dán nhãn, Bố cục, Chụp
  5. Sắp xếp các thanh công cụ
  6. ArcMap đã đóng (Quá trình đóng như mong đợi)
  7. Bắt đầu Tài liệu ArcMap mới
  8. Đã thêm thanh công cụ tùy chỉnh của riêng tôi với bổ trợ
  9. ArcMap đã đóng (Quá trình đóng như mong đợi)
  10. Bắt đầu một Tài liệu ArcMap hiện có
  11. Được sử dụng bắt đầu tùy chỉnh và dừng chỉnh sửa trên thanh công cụ của tôi cũng như một số công cụ tùy chỉnh
  12. ArcMap đã đóng (Quá trình đóng như mong đợi)

Tôi cũng đã xóa và xóa ArcBruTile

Các quy trình ArcMap hiện đóng như mong đợi


2
nói quá sớm. Vấn đề đã trở lại.
Jakub Sisak GeoGraphics

Thật không may, hỗ trợ ESRI đã sao chép và dán câu trả lời ở trên như một giải pháp, khi nó dường như không hoạt động: /
MaryBeth

@Jakub Bạn đã bao giờ tìm thấy một giải pháp cho vấn đề này? Tôi đang tạo một addin và gần đây nhận thấy nhiều quá trình ArcMap đang chạy sau khi thoát.
Barbarossa

Dường như sự đồng thuận là các quy trình được mở và không được đóng đúng bởi các tiện ích / tiện ích mở rộng của bên thứ 3. Tôi xây dựng các bổ trợ của riêng mình và tôi có thể vừa trải qua tất cả mã của mình để đảm bảo tất cả các đối tượng được phát hành hoặc, và nhiều khả năng, sự cố đã được ESRI khắc phục tại nguồn vì nó không còn xảy ra trong 10.3 và tôi tin rằng đã biến mất trong 10.2. Nếu điều này vẫn xảy ra, hãy gỡ cài đặt và xóa TẤT CẢ các bổ trợ của bên thứ 3 và xem sự cố có còn không. Nếu không tiếp tục quay, thêm từng cái một để xác định thủ phạm. Hi vọng điêu nay co ich.
Jakub Sisak GeoGraphics

2

Không cố gắng đưa bài đăng này trở về từ cõi chết, nhưng trong khi làm việc với hỗ trợ ESRI về vấn đề này với máy chủ Citrix (người dùng gặp sự cố hoặc đăng xuất, arcgiscachemanager.exe hoàn toàn không đóng 20-30 phút sau hoặc hơn, Người dùng không thể quay lại ArcMap và sau đó họ phải dựa vào 2 quản trị viên máy chủ để sẵn sàng đăng nhập vào máy chủ và giải phóng chúng theo cách thủ công), ESRI đang sao chép và dán giải pháp từ trang này và nó không hoạt động. Ít nhất là không khi làm việc trong môi trường Citrix.

Đối với Citrix, chúng tôi thấy rằng việc tạo hai khóa đăng ký (một để hủy quy trình treo, một để đẩy cài đặt trở lại trạng thái ban đầu) đã "khắc phục" sự cố.

Đối với người không phải là Citrix, chúng tôi đã có ý tưởng chỉ tạo ra một kịch bản để giết tiến trình, nhưng vì khi chúng tôi không ở Citrix, chúng tôi đã ở trên máy chủ, chúng tôi quyết định rằng điều đó là cần thiết.

Hi vọng điêu nay co ich.

------- dữ liệu được sao chép từ vé hỗ trợ leo thang -------- Citrix có các cài đặt khóa đăng ký sẽ giúp quản lý các ứng dụng sinh ra các quy trình thứ cấp trong nền. Bạn có rất nhiều triệu chứng nên làm cho giải pháp này trở thành một thiết lập hợp lý. Hãy xem qua các bài viết kiến ​​thức Citrix sau đây:

Đăng xuất duyên dáng từ một ứng dụng đã xuất bản Hiển thị phiên ở trạng thái hoạt động: http://support.citrix.com/article/CTX891671

Phiên hoạt động sau khi người dùng đăng xuất trong môi trường XenApp khi được nâng cấp từ Windows Server 2003 lên Windows Server 2008: http://support.citrix.com/article/CTX134956

Bảng điều khiển ứng dụng XenApp 6.5 Hiển thị trạng thái ứng dụng Ứng dụng không chạy: http://support.citrix.com/article/CTX133328

Trong các bài viết này, nó thảo luận về cách các ứng dụng được xuất bản có thể khiến phiên không đóng hoặc người dùng không được đăng xuất đúng cách. Trong những trường hợp đó, các phiên phải được đặt lại / thoát bởi quản trị viên hoặc bằng cách chấm dứt quá trình từ máy chủ vẫn đang chạy. Điều xảy ra trong Citrix là bạn xuất bản ứng dụng chính, trong trường hợp ArcMap của bạn. Chỉ exe đó bị đóng khi thoát khỏi một ứng dụng (hoặc nếu nó gặp sự cố). Do đó, mọi exe liên quan đến ứng dụng được sinh ra khi ứng dụng được mở sẽ không được đóng hoàn toàn trong Citrix dẫn đến trạng thái này. Vì vậy, khi ArcGISCacheMgr.exe mất nhiều thời gian để thực thi hoặc ứng dụng gặp sự cố, người dùng cuối của bạn không thể bắt đầu một phiên mới.

Các bài viết thảo luận về cách bạn có thể thêm các quy trình phụ này vào khóa đăng ký để tự động đóng chúng khi đóng ứng dụng chính. Một tùy chọn khác bạn có thể khám phá là một kịch bản đăng xuất để kiểm tra các quy trình và chấm dứt chúng nếu chúng tồn tại.


2

Tạo một tệp .bat và dán tệp này vào và lưu vào máy tính để bàn.

 taskkill /IM ArcGisCacheMgr.exe /f
 taskkill /IM ArcGisConnection.exe /f
 "C:\Program Files (x86)\ArcGIS\Desktop10.1\bin\ArcMap.exe"

4
Một lời giải thích về những gì các lệnh này (và các tùy chọn của chúng) đang làm sẽ giúp người không quen biết giải pháp của bạn.
whuber

1

Theo tôi, PsKill từ SysIternals Suite (một bộ công cụ bắt buộc gần như bắt buộc) có thể được liên kết với một phím tắt và bắn theo ý muốn để dọn sạch các quy trình treo. Làm như vậy là xấu ở chỗ nó không có gì để giải quyết vấn đề ban đầu, nhưng nó cho phép một người tiến hành nhanh chóng và hiệu quả.

pskill -t arcmap.exe

Tôi đã nhận được các quá trình arcmap.exe vô hình một vài lần một tuần gần đây, không thường xuyên trước đây, nhưng nó đã xảy ra một thời gian. Tôi thường sử dụng cấp phép đồng thời. Nó dường như xảy ra thường xuyên hơn khi tôi có nhiều hơn một phiên Arcmap hoạt động. Chúng tôi sử dụng chương trình chống vi-rút Sophos, trên Win7 64 bit.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.