zoukankan      html  css  js  c++  java
  • 解决linux下终端无法输入的假死问题

      有时在linux下shell终端中,会突然出现终端应用卡死,无法接受键盘输入, 但是其它分屏, 系统都是正常的。这本来是一个终端的很老的功能, 叫软件流控制(XON/XOFF flow control),具体就是当client(terminal emulator), 也就是常用的终端模拟器无法接受更多的数据的时, 终端会发送一个 "XOFF" 信号 告诉发送数据端暂停发送, 直到收到"XON"信号,其中发送的 "XOFF" 是告诉内核的 tty 驱动将正在发送数据的进程设置为休眠状态, 直到 tty 驱动发送 "XON" 告诉内核恢复进程, 就好像它从来没有停过一样。

      默认情况下,Ctrl-s会启用终端的滚动锁定, 此时禁用终端模拟器的滚动功能 (通过发送 "XOFF" 信号暂停软件的输出 ),终端软件没有任何输出,造成假死的现象,一般情况都是无意识按下了ctrl+s快捷键而已。相应的,Ctrl-q 会禁用滚动锁定, 恢复终端滚动 (通过发送 "XON" 信号来恢复软件的输出). 

      可以修改配置文件, 在~/.bash_profile 或者~/.bashrc的配置文件里面加上下面的参数并且重启加载bash配置即可要禁用这个功能,就不会假死了:

    stty -ixon
    source  .bashrc

      顺便提一下,linux下终端ctrl+z命令会将当前任务切换到后台执行,就无法看到了,可以使用fg命令恢复至前台。

  • 相关阅读:
    HTTP处理程序介绍
    c# Enum获取name,value和description
    如何成为优秀的软件人才
    关于系统设计分层
    从DLL中加载启动窗体
    摩斯密码
    休息下
    关于博文转载
    整合TextBox与Label 创建新控件EFLabelText
    ProC连接Oracle
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/10428991.html
Copyright © 2011-2022 走看看