Почему мой терминал замерзает?

9

Иногда, когда мой терминал зависает, и он не позволяет мне вводить текст. Я не могу определить причины и не диагностировать. Любые предложения?

Спасибо!

Терминал GNOME 2.30.2 на Ubuntu 10.04

    
задан David LeBauer 30.11.2010 в 02:24
источник

2 ответа

13

Хороший общий способ диагностики таинственных зависаний:

  1. откройте терминал (ноль) и используйте ps axo pid,wchan:32,cmd , чтобы найти другой идентификатор процесса
  2. обратите внимание на столбец wchan , который должен сказать вам, застрял ли он в ядре
  3. запустите sudo strace -p PID , вставив pid этого процесса; вставьте это в сообщение об ошибке или вопрос

Если в столбце wchan есть что-то помимо просто черты, тогда процесс в ядре что-то делает. Некоторые типичные значения:

  • futex_wait_queue_me - ожидание futex для другого потока в том же процессе
  • poll_schedule_timeout - ожидание сетевой или межпроцессной связи или просто спящий время
  • pipe_wait - чтение / запись трубы

Есть тысячи возможностей, поэтому я не могу их перечислить. См. Что такое "Ожидающий канал" процесса? для более.

    
ответ дан poolie 30.11.2010 в 03:12
источник
16

Вы случайно нажали Ctrl + S? Это ключ терминальной паузы, который останавливает весь вывод, пока вы не нажмете Ctrl-Q, чтобы возобновить.

    
ответ дан Marius Gedminas 30.11.2010 в 12:16