GNU/Linux >> Tutoriales Linux >  >> Linux

ls se cuelga para un directorio determinado

Solución 1:

Ejecutar strace ls /var/www/ y ver de qué se cuelga. Ciertamente está colgado en E/S, eso es lo que D estado en su ps medios de salida (y desde kill no ayuda, es una de las llamadas al sistema de E/S ininterrumpidas). La mayoría de los cuelgues involucran un servidor NFS que se fue a Dios, pero basado en su df ese no es el caso aquí. Una comprobación rápida de dmesg para cualquier cosa relacionada con sistemas de archivos o discos podría valer la pena, por si acaso.

Solución 2:

Tuve un problema con los mismos síntomas. Resultó que tenía un enlace simbólico en ese directorio a un montaje SMB sobre GVFS.

lrwxrwxrwx  1 alex alex        45 Sep 16  2011 foo -> /home/alex/.gvfs/bar on foo/data/

Normalmente ls se completaría instantáneamente, ya sea que se haya montado o no el recurso compartido. Pero en este caso había suspendido y reanudado la máquina, y la montura estaba funcionando mal en general. Volver a montar el recurso compartido solucionó el problema.

Solución 3:

Con la esperanza de que esto sea útil, tuve los síntomas anteriores causados ​​​​por el uso de docker y docker compose con el controlador AUFS en Ubuntu 14.04. ls <dir> estaba colgando, y strace ls <dir> mostró que estaba colgando en el getdents llamar. Detener todos los contenedores en ejecución me permitió comenzar a usar la unidad como se esperaba.

Solución 4:

Estaba experimentando el mismo problema.

Entrar en un directorio está bien, enumerarlo se bloquea, buscar trabajos, completar la pestaña se bloquea y algunas carpetas debajo de do trabajar. Muy-rascarse-la-cabeza-extraño.

Leer este hilo sobre Server Fault me ​​guió por un camino lógico hacia la solución.

Al tener que ver con NAS, y NAS comúnmente puesto como 'montaje automático' me hizo darme cuenta de que recientemente había cambiado mi fstab para 'montar automáticamente' algunas unidades USB si estaban presentes, pero continuar con normalidad cuando no lo estaban.

Luego procedí de la siguiente manera:

  1. Desmonte la partición que contiene el directorio de delincuentes.
  2. Edite fstab y convierta todo el montaje automático en comentado o sin automático.
  3. Vuelva a cargar SystemD si lo tiene:systemctl --system daemon-reload
  4. montar -a

Intente entrar de nuevo en el directorio y obtenga esa sensación cálida y confusa de haber solucionado el problema.


Linux
  1. Adjuntar a la salida de un proceso para ver

  2. El demonio de transmisión no responde en el directorio de observación

  3. ¿Cómo chown directorio para múltiples usuarios?

  4. ¿Es posible ocultar los objetos perdidos y encontrados?

  5. ¿La instalación de Postfix se bloquea en la pantalla de configuración de Postfix?

Crear directorio de inicio para usuarios existentes en Linux

¿Diff -r solo para ciertos tipos de archivos?

Estructura de directorios de Linux explicada para principiantes

¿Equivalente a SysInternals FileMon para Linux?

¿Comando Shell para obtener la dirección IP?

Interfaz web para la gestión de LDAP