开发者社区> 问答> 正文

请问各位什么情况下会导致某个线程调用sleep以后就一直在sleep状态,不再被唤醒?Linux 2.6.33

请问各位什么情况下会导致某个线程调用sleep以后就一直在sleep状态,不再被唤醒?

一份算是成熟的代码中最近出现了一个sleep(1)一直睡死的情况,各位知道这种睡死在什么情况下会发生吗?之前这份代码已经稳定运行了好几年,最近在局方出现了死锁的bug,最后跟进去发现是sleep睡死了。

内核是Linux 2.6.33版本。

展开
收起
a123456678 2016-06-13 15:40:59 5876 0
1 条回答
写回答
取消 提交回答
  • chenqi@pek-qchen1-d1:~/Test/shell$ echo -e '#!/bin/shnread _not_usednecho finishedn' > need-enter.sh
    chenqi@pek-qchen1-d1:~/Test/shell$ ./need-enter.sh
    ^C
    chenqi@pek-qchen1-d1:~/Test/shell$ yes "" | ./need-enter.sh
    finished

    2019-07-17 19:36:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载