GNU/Linux >> LINUX-Kenntnisse >  >> Linux

ls hängt für ein bestimmtes Verzeichnis

Lösung 1:

Führen Sie strace ls /var/www/ aus und schau woran es hängt. Es hängt sicherlich an I/O – das ist es, was die D Zustand in Ihrem ps Ausgabemittel (und seit kill hilft nicht, es ist einer der unterbrechungsfreien I/O-Systemaufrufe). Die meisten Hänger betreffen einen NFS-Server, der zu Gott gegangen ist, aber basierend auf Ihren df das ist hier nicht der Fall. Eine kurze Überprüfung von dmesg für alles, was mit Dateisystemen oder Festplatten zu tun hat, könnte sich lohnen, nur für den Fall.

Lösung 2:

Ich hatte ein Problem mit den gleichen Symptomen. Es stellte sich heraus, dass ich in diesem Verzeichnis einen Symlink zu einem SMB-Mount über GVFS hatte.

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

Normalerweise ls würde sofort abgeschlossen werden, unabhängig davon, ob die Freigabe gemountet wurde oder nicht. Aber in diesem Fall hatte ich die Maschine angehalten und wieder aufgenommen, und die Halterung funktionierte im Allgemeinen schlecht. Das erneute Mounten der Freigabe hat das Problem behoben.

Lösung 3:

In der Hoffnung, dass dies hilfreich sein wird, hatte ich die oben genannten Symptome, die durch die Verwendung von docker verursacht wurden und docker compose mit dem AUFS-Treiber in Ubuntu 14.04. ls <dir> hing und strace ls <dir> zeigte, dass es am getdents hing Anruf. Durch das Stoppen aller laufenden Container konnte ich das Laufwerk wie erwartet verwenden.

Lösung 4:

Ich hatte das gleiche Problem.

Das Betreten eines Verzeichnisses ist in Ordnung, das Auflisten hängt, Werke finden, Tabulator vollständig hängt und einige Ordner unter do Arbeit. Sehr kopfkratzend-seltsam.

Das Lesen dieses Threads zu Server Fault hat mich auf einen logischen Weg zur Lösung geführt.

Es hat mit NAS zu tun, und NAS, das allgemein als „automount“ bezeichnet wird, ließ mich erkennen, dass ich kürzlich meine fstab so geändert hatte, dass einige USB-Laufwerke „automount“ werden, wenn sie vorhanden waren, aber normal weitermachen, wenn sie es nicht waren. P>

Ich bin dann wie folgt vorgegangen:

  1. Unmounten Sie die Partition, die das säumige Verzeichnis enthält.
  2. Bearbeiten Sie fstab und konvertieren Sie alle Automounts entweder in auskommentierte oder ohne Auto.
  3. SystemD neu laden, falls vorhanden:systemctl --system daemon-reload
  4. mount -a

Versuchen Sie erneut, das Verzeichnis aufzurufen, und bekommen Sie das warme, flauschige Gefühl, das Problem behoben zu haben.


Linux
  1. Keine Manpage für den cd-Befehl

  2. Transmission-Daemon nimmt Watch-Verzeichnis nicht an

  3. Wie chown ich das Verzeichnis für mehrere Benutzer?

  4. Ist es möglich, lost+found zu verstecken?

  5. Die Installation von Postfix hängt im Postfix-Konfigurationsbildschirm?

Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

Erstellen Sie ein Home-Verzeichnis für einen bestehenden Benutzer in Linux

Wofür sind Inodes gut?

Diff -r nur für bestimmte Dateitypen?

Linux-Verzeichnisstruktur für Anfänger erklärt

Webinterface für LDAP-Management