• 解决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命令恢复至前台。

  • 相关阅读:
    mailto发送邮件
    使用css实现一个持续的动画效果
    documentFragment添加节点
    删除数组的第一个元素,不要直接修改数组,结果返回新的数组
    js数组去重
    css定位position(侧边栏导航)
    mongoexport导出mongodb数据库中的数据
    textarea头部不顶行问题和textarea禁止拉伸
    HTML meta标签
    textarea
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/10428991.html
Copyright © 2020-2023  润新知