J'ai réalisé que cela se produit il y a des mois lorsque je n'ai pas pu modifier la structure de la table dans une instance d'ArcMap après la fermeture d'une autre instance. Lorsque, par exemple, je supprime ou ajoute des champs à une classe d'entités dans ArcMap, j'enregistre et ferme le document et ouvre ArcCatalog et j'essaie de supprimer cette classe d'entités particulière. J'obtiens l'erreur Delete Failed: Impossible de supprimer les objets sélectionnés. Cela se produit généralement lorsqu'une instance d'ArcMap contenant des couches que j'essaie de supprimer est ouverte, la solution consiste donc à lancer le Gestionnaire des tâches de Windows et à tuer les processus ArcMap.exe qui, pour une raison quelconque, sont encore ouverts.
Quelqu'un d'autre a ce problème?
Maintenant en cours d'exécution SP3 et le problème n'a pas été résolu.
J'exécute une configuration très similaire sur une machine comparable et je n'ai pas ce problème là-bas.
la source
Réponses:
Ce n'est pas votre faute et vous ne pouvez pas faire grand-chose. Cependant, si vous êtes curieux de savoir pourquoi, ce qui se passe est qu'il existe une référence circulaire COM (très probablement à quelque chose qui écoute une source d'événement - comme l'éditeur) et quand les applications tentent de le quitter ne le peuvent pas, car certains objets conservent mutuellement vivants. Cela peut provenir d'une extension que vous avez installée, ou même du code ESRI lui-même. Cela se produisait tout le temps et cela ne peut se manifester que dans certaines conditions, comme certaines commandes visibles dans la barre d'outils.
À partir d'un ancien didacticiel ArcObjects sur les concepts COM :
Si vous êtes encore plus curieux, supprimez (ou sauvegardez) votre Normal.mxt, qui effacera toutes les personnalisations et verra si ce problème persiste.
la source
Merci @Kirk et @Ragi d'avoir résolu ce problème! Voici ce que j'ai fait tout en surveillant les processus du gestionnaire de tâches:
J'ai également supprimé et supprimé ArcBruTile
Les processus ArcMap se clôturent comme prévu
la source
N'essayant pas de ramener ce post d'entre les morts, mais tout en travaillant avec le support ESRI sur ce problème avec un serveur Citrix (les utilisateurs se bloquent ou se déconnectent, arcgiscachemanager.exe ne se ferme pas 20-30 minutes plus tard ou plus, le cas échéant, les utilisateurs ne peuvent pas revenir à ArcMap, puis ils doivent compter sur 2 administrateurs de serveur pour être disponibles pour se connecter au serveur et les libérer manuellement), ESRI copie et colle une solution à partir de cette page et cela ne fonctionne pas. Du moins pas lorsque vous travaillez dans un environnement Citrix.
Pour Citrix, nous avons constaté que la création de deux clés de registre (une pour tuer le processus bloqué, une pour remettre les paramètres à leur état d'origine) "résolvait" le problème.
Pour les non-Citrix, nous avons joué avec l'idée de simplement créer un script pour tuer le processus, mais puisque lorsque nous ne sommes pas dans Citrix, nous sommes déjà sur le serveur, nous avons décidé que ce n'était pas nécessaire.
J'espère que cela t'aides.
------- données copiées à partir du ticket de support escaladé -------- Citrix a des paramètres de clé de registre qui aideront à gérer les applications qui engendrent des processus secondaires en arrière-plan. Vous avez beaucoup de symptômes qui devraient faire de cette solution une configuration plausible. Consultez les articles de connaissances Citrix suivants:
La déconnexion gracieuse d'une application publiée rend la session en état actif: http://support.citrix.com/article/CTX891671
Sessions actives après la fermeture de session de l'utilisateur dans un environnement XenApp lors de la mise à niveau de Windows Server 2003 vers Windows Server 2008: http://support.citrix.com/article/CTX134956
La console XenApp 6.5 AppCenter affiche l'état de l'application Application non exécutée: http://support.citrix.com/article/CTX133328
Dans ces articles, il explique comment les applications publiées peuvent empêcher une session de se fermer ou qu'un utilisateur ne soit pas correctement déconnecté. Dans ces cas, les sessions devaient être réinitialisées / fermées par un administrateur ou en mettant fin au processus à partir du serveur qui était toujours en cours d'exécution. Ce qui se passe dans Citrix, c'est que vous publiez l'application principale, dans votre cas ArcMap. Seul cet exe est fermé lors de la fermeture d'une application (ou s'il se bloque). Par conséquent, les exes associés à l'application qui ont été générés lors de son ouverture ne sont pas complètement fermés dans Citrix, ce qui entraîne cet état. Ainsi, lorsque ArcGISCacheMgr.exe prend du temps à s'exécuter ou que l'application se bloque, vos utilisateurs finaux ne peuvent plus démarrer une nouvelle session.
Les articles expliquent comment ajouter ces processus secondaires à une clé de Registre pour les fermer automatiquement à la fermeture de l'application principale. Une autre option que vous pouvez explorer est un script de déconnexion pour vérifier les processus et les terminer s'ils existent.
la source
Créez un fichier .bat et collez-le et enregistrez-le sur le bureau.
la source
PsKill de la suite SysInternals (une sacrée boîte à outils quasi obligatoire à mon avis) peut être lié à un raccourci et déclenché à volonté pour nettoyer les processus bloqués. Cela est moche en ce sens qu'il ne fait rien pour résoudre le problème d'origine, mais il permet de continuer rapidement et efficacement.
J'ai reçu des processus arcmap.exe invisibles plusieurs fois par semaine récemment, pas si souvent auparavant, mais cela se produit depuis un certain temps. J'utilise généralement des licences simultanées. Cela semble se produire plus souvent lorsque j'ai plus d'une session Arcmap active. Nous utilisons l'antivirus Sophos, sur 64 bits Win7.
la source