¿Por qué SYSTEM continuaría bloqueando los identificadores de archivos ejecutables después de que la aplicación haya salido?


24

Veo un comportamiento extraño en mi máquina con Windows 7; parece que cuando se ejecuta un ejecutable, SYSTEM mantiene abierto un identificador durante el siguiente minuto más o menos. Aquí está mi encuentro más reciente:

Instalé Steam, que inicia steam.exe después de la instalación para actualizarse. Parece hacer esto escribiendo una copia temporal de sí mismo, lanzándola para realizar la descarga, y luego sobrescribiendo la copia original del ejecutable. En mi caso, esto falló, alegando que steam.exe no se pudo eliminar.

Abrí la carpeta e intenté eliminar steam.exe manualmente, pero Windows afirmó que no tenía permiso. Mi cuenta es un administrador y es la única cuenta de usuario en esta máquina. Pero por si acaso, inicié Explorer como administrador, pero aún no podía eliminar el archivo. Puse las Propiedades del archivo en la pestaña Seguridad, pero solo mostró un mensaje que decía que no tenía permiso para ver los permisos.

Luego, mencioné Process Explorer para ver si algo tenía un bloqueo en el archivo. SYSTEM (PID 4) lo hizo, pero cuando intenté cerrar el identificador del archivo, se produjo un error que indicaba que el identificador no era válido. Traté de ver las propiedades del identificador de archivo, pero tampoco tenía permiso para hacerlo.

Terminé todo menos los procesos del sistema no terminables, y detuve todos los servicios que puedo, incluido todo lo relacionado con AV y firewall, pero el problema continúa apareciendo. Intenté usar 'takeown' para otorgarme la propiedad del archivo, pero afirma que no tengo permiso para hacerlo. Otras personas han afirmado tener éxito utilizando una herramienta llamada 'Unlocker', pero tuvo el mismo problema que Process Explorer al cerrar el identificador de archivo.

Hace mucho tiempo deshabilité la indexación y búsqueda de Windows, y excluí C: \ de la indexación, por lo que la respuesta a esta pregunta no se aplica a mí.

Cada vez, después de aproximadamente un minuto, el identificador desaparece y el archivo se elimina de inmediato; aparentemente, el intento del eliminador para eliminarlo se puso en cola y finalmente terminó una vez que el archivo ya no estaba bloqueado. Lamentablemente, la actualización ya ha finalizado y no se puede reanudar. Y cuando reinstalo, por supuesto, intenta ejecutar steam.exe nuevamente, y vuelvo al punto de partida.

Mi pregunta es: ¿por qué están estos mangos dando vueltas y cómo puedo evitar que lo hagan?

Editar: Aquí hay información adicional solicitada de los comentarios:

C:\>fltmc instances
Filter                Volume Name                              Altitude        Instance Name      Frame  VlStatus
--------------------  -------------------------------------  ------------  ---------------------  -----  --------
KLIF                  \Device\Mup                             320400       KLIF                     0
KLIF                  C:                                      320400       KLIF                     0
KLIF                                                          320400       KLIF                     0
luafv                 C:                                      135000       luafv                    0
FileInfo              \Device\Mup                              45000       FileInfo                 0
FileInfo              C:                                       45000       FileInfo                 0
FileInfo                                                       45000       FileInfo                 0

Editar: GMER indica que mi antivirus (Kaspersky) todavía está activo de alguna manera, a pesar de deshabilitarlo desde su propia GUI, y que su servicio se detuvo.

AttachedDevice  \Driver\tdx \Device\Ip     kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Tcp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Udp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\RawIp  kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)

Pero todo esto parece ser para servicios de red; No veo nada relacionado con el sistema de archivos. ¿Podría alguno de estos ser la causa del problema?

Editar: deshabilité el filtro Kaspersky KLIF, pero el problema de bloqueo persiste.

Editar: Resolví el problema específico con Steam instalando, forzando la finalización del instalador antes de que pudiera iniciar steam.exe, luego reiniciando en modo seguro y ejecutándolo allí. Entonces, aparentemente, lo que sea que esté bloqueando el ejecutable no está presente en modo seguro.

Aunque he resuelto este caso en particular, el problema también aparece en otro lugar, por lo que todavía me gustaría entender lo que está sucediendo.


3
"Sistema" es un seudoproceso que representa (aproximadamente) el núcleo de Windows. Se necesitaría más información sobre su configuración (por ejemplo, qué controladores de filtro hay en el usuario) para dar una respuesta definitiva.
0xC0000022L

¿Cuál es la mejor manera de obtener esa información adicional?
DNS

si esos son mini filtros, intente verificar fltmcsi son filtros heredados, necesitaría una herramienta como GMER para enumerar los objetos filtrados. Sé que no es el propósito principal de GMER, pero se puede usar de esa manera. También solía haber alguna herramienta de OSR, pero no recuerdo su nombre. Contestaré nuevamente si no recuerdo mal.
0xC0000022L

Es una optimización para programas que cierran y vuelven a abrir archivos repetidamente. El servicio "Experiencia de aplicación" vence la optimización para casos especiales como intentar eliminar del Explorador de Windows mientras el identificador todavía está en caché.
user165568

Respuestas:


20

Haz lo siguiente:

  1. Deshabilite la indexación en la ubicación problemática.

  2. Habilite el servicio "Experiencia de aplicación" y configúrelo en "Automático".

Eso es.

Si su problema aún persiste, puede ser Superfetch, aunque la desactivación no me ha dado suerte.


55
# 2 (Habilitar el servicio "Application Experience") funcionó para mí, ¡gracias! Realmente fue un dolor al depurar mi software LIVEditor (editor html en vivo), ya que tengo que volver a compilar repetidamente el EXE.
Edwin Yip

1
La indexación no era algo que quisiera deshabilitar, pero afortunadamente solo configuré la Experiencia de aplicación en Automático. No puedo creer que haya vivido con este problema durante los últimos 5 años cuando la solución fue tan simple.
Mordred

más allá de ti, te amo !!
entusiasmado el

Comenzar AeLookupSvcfuncionó, pero ¿por qué? ¿Qué es este misterioso servicio?
cdlvcdlv

6

KLIF es el controlador AV de Kaspersky. Es bastante probable que tenga que ver con eso.

Mi curso de acción en tal caso sería contactar a Kaspersky y pedirle consejo.

Sin embargo, hay otra cosa que puede probar primero: deshabilite el controlador (debajo HKLM\SYSTEM\CurrentControlSet\Services) buscando KLIFo algo similar como nombre de clave y estableciendo el REG_DWORDvalor nombrado Starta 4(lo que significa deshabilitado), luego reinicie. Esto debería evitar que se cargue el controlador del filtro KAV. Luego puede usar fltmcpara verificar el resultado.

El resultado de GMER que proporcionó es irrelevante para el caso en cuestión, ya que afectaría solo las conexiones de red, no las operaciones de archivo. Parece que tenía instalado algo como Kaspersky Internet Security (o aún lo tiene inactivo en su máquina).

Editar: solo FYI luafves responsable de la virtualización FS junto con UAC. Es decir, si no tiene acceso a un archivo, se está colocando en una carpeta separada dentro de su perfil. FileInfopertenece a SuperFetch, que en realidad podría ser parte de su problema, pero yo no he tenido un problema similar en Windows 7. Por lo general, no se recomienda deshabilitar SuperFetch, aunque se puede.


No me permitía cambiar el valor de esa clave, así que reinicié en modo seguro e hice el cambio allí. Al reiniciar, las entradas KLIF desaparecen de la salida fltmc, pero el problema de bloqueo persiste.
DNS

Agregué un poco más de información; vea mi edición reciente a la pregunta.
DNS

@DNS: ¿ha intentado obtener la salida fltmcen modo seguro? Es muy posible que SuperFetch no esté activo. Cuando lees en SuperFetch, parece que tu descripción sobre sostener un mango un poco más de tiempo podría ser plausible.
0xC0000022L

Esa es una muy buena idea, pero desgraciadamente tanto FileInfo como luafv estaban activos en modo seguro.
DNS

Estas modernas suites de "seguridad de Internet" son exageradas y rara vez sirven de nada. MSE + sentido común debería ser suficiente.
kinokijuf

1

Estaba teniendo este problema con un archivo ejecutable de Java abierto y había deshabilitado la experiencia de la aplicación ... (la búsqueda de Windows también está deshabilitada). ¡¡¡Gracias!!! (También tuve problemas con los archivos que no se guardaron durante un minuto entero y no pude eliminar archivos hasta un minuto después de haberlos cerrado ...


¿Cómo deshabilita la experiencia de la aplicación?
Simon Sheehan

Cualquier punto de control de servicios de Windows servirá: utilizo Inicio >> Ejecutar >> "services.msc" (ingresar) >> haga clic con el botón derecho en "experiencia de la aplicación" >> haga clic con el botón izquierdo en "propiedades" >> seleccione la pestaña "general" (predeterminado)> > cuadro de lista desplegable "tipo de inicio" >> seleccione automático (clic izquierdo) >> haga clic en "aplicar"
David K

1

Esto me sucedió una vez, y resultó ser una computadora remota que tenía la carpeta compartida abierta.

  1. Use Handle para averiguar qué proceso contiene el archivo
  2. (Fue Sistema en mi caso)
  3. Trate de cerrar la manija: handle.exe -c E14 -p 4. Su identificador de archivo se encontrará en la salida de su búsqueda del identificador de archivo, y el processid probablemente será el mismo para el sistema.
  4. Salida Error closing handle: T
  5. Googleando esto, encontré esto relacionado con la red
  6. Encontré en otra máquina, de hecho tenía la carpeta abierta. Cerrado Todo bien.

0

Tuve este problema al intentar cambiar el nombre de una carpeta. Tuve que detener el servicio del servidor mientras realizaba el cambio de nombre. Solo reiniciar no ayudó, ya que el proceso del sistema volvió a bloquear la carpeta tan pronto como se reinició el servicio del servidor. Es probable que esto también aborde el problema mencionado aquí .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.