Manchmal, wenn mein Terminal einfriert und ich nicht tippen kann. Ich kann keine Ursachen identifizieren und auch keine Diagnose stellen. Irgendwelche Vorschläge?
Vielen Dank!
GNOME Terminal 2.30.2 unter Ubuntu 10.04
10.04
command-line
freeze
David LeBauer
quelle
quelle
top
in einem Terminal arbeiten, sollten Sie das Problem leicht finden können.Antworten:
Ein guter allgemeiner Weg, um mysteriöse Hänge zu diagnostizieren:
ps axo pid,wchan:32,cmd
, um die andere Prozess-ID zu findenwchan
Spalte, in der angegeben wird, ob sie im Kernel stecktsudo strace -p PID
Einfügen der PID dieses Prozesses aus. Fügen Sie das in einen Fehlerbericht oder eine Frage einWenn es außer einem Bindestrich in der wchan-Spalte noch etwas gibt, dann ist der Prozess im Kernel, der etwas tut. Einige typische Werte:
futex_wait_queue_me
- Warten auf einen Futex im selben Prozess auf einen anderen Threadpoll_schedule_timeout
- Warten auf Netzwerk- oder Interprozesskommunikation oder nur eine Weile schlafenpipe_wait
- Lesen / Schreiben einer PfeifeEs gibt Tausende von Möglichkeiten, daher kann ich nicht alle auflisten. Siehe Was ist der "Wartekanal" eines Prozesses? für mehr.
quelle
wchan
bedeutet, dass der Prozess im Kernel wartet. Wenn es dort für eine lange Zeit und ohne guten Grund wie das Abhören von Netzwerk-Io bleibt, dann steckt es fest. ;)Haben Sie zufällig Strg + S gedrückt? Es ist die Terminal-Pause-Taste, die alle Ausgaben stoppt, bis Sie Strg-Q drücken, um fortzufahren.
quelle