Uświadomiłem sobie, że dzieje się to kilka miesięcy temu, kiedy nie byłem w stanie zmienić struktury tabeli w instancji ArcMap po zamknięciu innej instancji. Kiedy na przykład usuwam lub dodam niektóre pola do klasy elementów w ArcMap, zapisuję i zamykam dokument oraz otwieram ArcCatalog i próbuję usunąć tę konkretną klasę elementów, pojawia się błąd Niepowodzenie usuwania: Nie udało się usunąć wybranych obiektów. Zwykle dzieje się tak, gdy instancja ArcMap zawierająca warstwy, które próbuję usunąć, jest otwarta, więc obejście polega na uruchomieniu Menedżera zadań Windows i zabiciu procesów ArcMap.exe, które z jakiegoś powodu są nadal otwarte.
Czy ktoś jeszcze ma ten problem?
Teraz działa SP3 i problem nie został rozwiązany.
Korzystam z bardzo podobnej konfiguracji na porównywalnym komputerze i nie mam tego problemu.
źródło
Odpowiedzi:
To nie twoja wina i niewiele możesz z tym zrobić. Jeśli jednak ciekawi Cię powód, dzieje się tak, że istnieje odwołanie cykliczne COM (najprawdopodobniej coś nasłuchującego jakiegoś źródła zdarzeń - takiego jak Edytor), a gdy aplikacja próbuje wyjść, nie może, ponieważ niektóre obiekty zachowują siebie nawzajem żywych. Może to pochodzić z zainstalowanego rozszerzenia lub nawet z samego kodu ESRI. To zdarzało się cały czas i może objawiać się tylko pod pewnymi warunkami, jak niektóre polecenia widoczne na pasku narzędzi.
Ze starego samouczka ArcObjects na temat koncepcji COM :
Jeśli jesteś jeszcze bardziej ciekawy, usuń (lub zrób kopię zapasową) plik Normal.mxt, który usunie wszystkie dostosowania i sprawdzi, czy problem nadal występuje.
źródło
Dziękujemy @Kirk i @Ragi za rozwiązanie tego problemu! Oto, co zrobiłem podczas monitorowania procesów Menedżera zadań:
Ja również usunąłem i usunąłem ArcBruTile
Procesy ArcMap są teraz zamykane zgodnie z oczekiwaniami
źródło
Nie próbując przywrócić tego postu z martwych, ale pracując z obsługą ESRI w tej sprawie z serwerem Citrix (użytkownicy ulegają awarii lub wylogowują się, arcgiscachemanager.exe nie zamyka się 20-30 minut później lub dłużej, jeśli w ogóle, użytkownicy nie mogą wrócić do ArcMap, a następnie muszą polegać na 2 administratorach serwera, którzy są dostępni do zalogowania się na serwerze i ręcznego zwolnienia go), ESRI kopiuje i wkleja rozwiązanie z tej strony i nie działa. Przynajmniej nie podczas pracy w środowisku Citrix.
W przypadku Citrix stwierdziliśmy, że utworzenie dwóch kluczy rejestru (jeden do zabicia zawieszonego procesu, drugi do przywrócenia ustawień do ich pierwotnego stanu) „naprawił” problem.
W przypadku firm innych niż Citrix zastanawialiśmy się nad stworzeniem skryptu, aby zabić ten proces, ale ponieważ nie jesteśmy w Citrix, jesteśmy już na serwerze, zdecydowaliśmy, że nie jest to konieczne.
Mam nadzieję że to pomoże.
------- skopiowane dane z eskalowanego biletu pomocy technicznej -------- Citrix ma ustawienia kluczy rejestru, które pomogą zarządzać aplikacjami, które spawnują wtórne procesy w tle. Masz wiele symptomów, które powinny uczynić to rozwiązanie możliwym do zaakceptowania. Przejrzyj następujące artykuły wiedzy Citrix:
Pełne wylogowania z opublikowanej aplikacji renderuje sesję w stanie aktywnym: http://support.citrix.com/article/CTX891671
Aktywne sesje po wylogowaniu użytkownika w środowisku XenApp po uaktualnieniu z systemu Windows Server 2003 do systemu Windows Server 2008: http://support.citrix.com/article/CTX134956
XenApp 6.5 Konsola AppCenter wyświetla status aplikacji Aplikacja nie działa: http://support.citrix.com/article/CTX133328
W tych artykułach omówiono, w jaki sposób opublikowane aplikacje mogą spowodować, że sesja nie zostanie zamknięta lub użytkownik nie zostanie poprawnie wylogowany. W takich przypadkach sesje musiały zostać zresetowane / zakończone przez administratora lub przez zakończenie procesu z serwera, który był nadal uruchomiony. W Citrix dzieje się to, że publikujesz główną aplikację, w twoim przypadku ArcMap. Tylko ten plik exe jest zamykany podczas zamykania aplikacji (lub w przypadku awarii). W rezultacie wszelkie pliki exe powiązane z aplikacją, które zostały odrodzone podczas otwierania aplikacji, nie są w pełni zamknięte w Citrix, co powoduje ten stan. Kiedy więc ArcGISCacheMgr.exe zajmuje dużo czasu lub aplikacja ulega awarii, użytkownicy końcowi nie mogą rozpocząć nowej sesji.
W artykułach omówiono sposób dodawania tych wtórnych procesów do klucza rejestru w celu ich automatycznego zamknięcia po zamknięciu głównej aplikacji. Inną opcją, którą możesz zbadać, jest skrypt wylogowania, aby sprawdzić procesy i zakończyć je, jeśli istnieją.
źródło
Utwórz plik .bat, wklej go i zapisz na pulpicie.
źródło
PsKill z SysInternals Suite (moim zdaniem cholernie blisko obowiązkowego zestawu narzędzi) można połączyć ze skrótem i uruchamiać do woli, aby oczyścić zawieszone procesy. Jest to brzydkie, ponieważ nie rozwiązuje oryginalnego problemu, ale pozwala szybko i skutecznie działać.
Ostatnio dostaję niewidoczne procesy arcmap.exe kilka razy w tygodniu, nie tak często wcześniej, ale dzieje się to już od jakiegoś czasu. Zwykle korzystam z licencjonowania równoległego. Wydaje się, że zdarza się to częściej, gdy mam więcej niż jedną sesję Arcmap. Używamy antywirusa Sophos na 64-bitowym Win7.
źródło