为什么我的终端会冻结?

有时,当我的终端冻结,它不会让我打字。 我无法确定任何原因,也无法确定如何诊断。 有什么建议?

谢谢!

Ubuntu 10.04上的GNOME终端2.30.2

诊断神秘挂起的一般方法:

  1. 打开一个(nother)终端,并使用ps axo pid,wchan:32,cmd查找其他进程ID
  2. 注意wchan列,它应该告诉你它是否卡在内核中
  3. 运行sudo strace -p PID插入该进程的pid; 将其粘贴到错误报告或问题中

如果除了wchan列中的短划线之外还有其他任何东西,那么该进程就在内核中执行某些操作。 一些典型值:

  • futex_wait_queue_me – 在同一进程中等待另一个线程的futex
  • poll_schedule_timeout – 等待网络或进程间通信,或者只是poll_schedule_timeout一段时间
  • pipe_wait – 读/写管道

有成千上万的可能性,所以我不能列出所有。 请参阅流程的“等待渠道”是什么? 更多。

你有机会按Ctrl + S吗? 它是终止暂停键,在您按Ctrl-Q恢复之前停止所有输出。