Иногда, когда мой терминал зависает, и он не позволяет мне печатать. Я не могу определить ни причины, ни как поставить диагноз. Какие-либо предложения?
Благодарность!
GNOME Terminal 2.30.2 в Ubuntu 10.04
10.04
command-line
freeze
Дэвид Лебауэр
источник
источник
top
в терминале, вы сможете легко найти проблему.Ответы:
Хороший общий способ диагностики загадочных зависаний:
ps axo pid,wchan:32,cmd
чтобы найти другой идентификатор процессаwchan
столбец, который должен сказать вам, застрял ли он в ядреsudo strace -p PID
вставив pid этого процесса; вставьте это в сообщение об ошибке или вопросЕсли в столбце wchan есть что-то, кроме тире, то процесс в ядре что-то делает. Некоторые типичные значения:
futex_wait_queue_me
- ожидание на futex другого потока в том же процессеpoll_schedule_timeout
- ожидание сетевого или межпроцессного взаимодействия, или просто поспать некоторое времяpipe_wait
- чтение / запись трубыЕсть тысячи возможностей, поэтому я не могу перечислить их все. Смотрите, что такое «канал ожидания» процесса? для большего.
источник
wchan
означает, что процесс ожидает в ядре. Если он остается там в течение долгого времени и без веских причин, таких как прослушивание сети, то он застрял. ;)Ты случайно нажал Ctrl + S? Это клавиша паузы терминала, которая останавливает весь вывод, пока вы не нажмете Ctrl-Q для возобновления.
источник