V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dobelee
V2EX  ›  问与答

控制台程序经常卡住需要按回车才能继续执行

  •  
  •   dobelee · 2018-07-20 20:33:29 +08:00 · 10120 次点击
    这是一个创建于 2348 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个问题困扰很多年了,一直没有深究,terminal 程序运行到某个时刻突然永久卡住,需要按下回车才会继续.

    • 使用 C、C#、Java、PHP、Python 都遇到过这个问题,因此判断与语言无关
    • 按下回车后瞬间返回结果并继续执行,因此判断与业务无关,卡在同步 IO (程序的 stdout )
    • Linux 从未遇到过,win7、win8(.1)、win10 都时常遇到,因此判断不是我个人问题

    不知是否 Windows 有某种特性会导致同步 IO 过程中出现无限期等待,如何避免?

    8 条回复    2020-10-16 13:42:11 +08:00
    dacapoday
        1
    dacapoday  
       2018-07-20 20:41:12 +08:00
    同遇到,只有 Windows 有这问题,应该跟选中,编辑有关。
    https://www.v2ex.com/t/351238
    这是 V 站之前人提的问题
    dobelee
        2
    dobelee  
    OP
       2018-07-20 20:46:16 +08:00 via Android
    @dacapoday 谢谢,我了解一下。
    dobelee
        3
    dobelee  
    OP
       2018-07-20 20:53:25 +08:00 via Android
    看了下帖子,不完全认同。
    1. 绝不是鼠标选中导致,我一般挂在后台执行,执行一段时间后中断,期间没有对终端操作
    2. 用 xshell 等工具执行也会偶现
    yamedie
        4
    yamedie  
       2018-07-20 20:57:19 +08:00 via Android
    不瞒你说我 Win10 在 npm run build 或者 node xxxx.js 时也会遇到,所以我 build 的时候总会焦躁的按回车,不用 powershell 改用 cmd 也能改善。
    困扰我很久了,这是为什么啊,明明前一秒还在动的啊,鼠标动都没动就卡住啦。。
    LGA1150
        5
    LGA1150  
       2018-07-20 21:05:17 +08:00 via Android
    右键默认值,关闭快速编辑
    ysc3839
        6
    ysc3839  
       2018-07-20 23:59:33 +08:00 via Android
    如果不是鼠标选中导致的话,那估计是程序主动读取 stdin 导致阻塞。下次卡住的时候试试按键盘上的字母,看看会不会输入进去。
    mmdsun
        7
    mmdsun  
       2018-10-24 09:19:03 +08:00 via Android
    我也发现了这个问题,已经发到反馈中心了,不知道微软能不能看到。 按 win 键+F, 打开反馈中心,来给我投个票吧。
    fangxing204
        8
    fangxing204  
       2020-10-16 13:42:11 +08:00   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1539 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:53 · PVG 00:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.