鱼C论坛

 找回密码
 立即注册
查看: 8468|回复: 37

[已解决]time.sleep() 卡死怎么办

[复制链接]
发表于 2020-5-8 18:48:34 | 显示全部楼层 |阅读模式
50鱼币
请问我写了一个段代码,大概就是隔几分钟访问一次网站。
因为不想过于频繁的访问,所以我引入了
  1. import time
  2. time.sleep(120)
复制代码

让代码休息两分钟再继续访问。
但是有的时候,代码 休息过就醒不来了,请问这是什么问题,有什么好的解决方案。

最佳答案
2020-5-8 18:48:35
我用命令行执行代码的时候会出现这种情况,一般来说,如果卡住了按一下回车就可以解决。
当然,这不是解决办法,还是建议使用pycharm执行,一般不会有这个问题

最佳答案

查看完整内容

我用命令行执行代码的时候会出现这种情况,一般来说,如果卡住了按一下回车就可以解决。 当然,这不是解决办法,还是建议使用pycharm执行,一般不会有这个问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 18:48:35 | 显示全部楼层    本楼为最佳答案   
我用命令行执行代码的时候会出现这种情况,一般来说,如果卡住了按一下回车就可以解决。
当然,这不是解决办法,还是建议使用pycharm执行,一般不会有这个问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 18:53:39 From FishC Mobile | 显示全部楼层
什么叫醒不过来,具体是什么症状
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-8 18:55:29 | 显示全部楼层
  1. import requests
  2. import time
  3. url = 'https://baidu.com'
  4. while True:
  5.     req = requests.session()
  6.     try:
  7.         req.get(url)
  8.     print('sleep 120 seconds')
  9.     time.sleep(120)
  10.     print('wake up')
  11.     del req

复制代码

代码大概就是这样,有时就一觉不醒了,网上说线程的什么原因,我也搞不懂,所以请大佬帮我一下
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-8 18:57:27 | 显示全部楼层
hrp 发表于 2020-5-8 18:53
什么叫醒不过来,具体是什么症状

就是 没有 ‘wake up’ 的输出了 可以看下楼下代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 19:14:18 From FishC Mobile | 显示全部楼层
walleeee 发表于 2020-5-8 18:57
就是 没有 ‘wake up’ 的输出了 可以看下楼下代码

注释掉5.6.7.11行再运行试试,看看是不是网络请求没返回的原因
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-8 19:18:24 | 显示全部楼层
hrp 发表于 2020-5-8 19:14
注释掉5.6.7.11行再运行试试,看看是不是网络请求没返回的原因

sleep 120 seconds
是输出了的,我觉得不是网络请求的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 19:26:46 From FishC Mobile | 显示全部楼层
hrp 发表于 2020-5-8 18:53
什么叫醒不过来,具体是什么症状

……什么症状,
大概是安眠药吃多了吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-8 19:31:14 | 显示全部楼层
https://stackoverflow.com/questi ... eep-never-waking-up
就类似这个的问题,但是他没给解决办法
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 19:40:34 | 显示全部楼层
walleeee 发表于 2020-5-8 18:55
代码大概就是这样,有时就一觉不醒了,网上说线程的什么原因,我也搞不懂,所以请大佬帮我一下

这段代码根本不可能存在time.sleep不醒的问题。
问题只会出现在 req.get(url) 访问出错,或超时,导至代码无法继续往下执行。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 19:42:24 From FishC Mobile | 显示全部楼层
walleeee 发表于 2020-5-8 19:18
sleep 120 seconds
是输出了的,我觉得不是网络请求的问题


那加个条件让while循环只循环一次,看看行不行(我想到了刚学写界面的时候想用循环和sleep在按钮上间隔循环显示文字,结果程序在循环中是卡死状态,循环结束后只显示了最后一个文字,最后用多线程解决)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 19:44:05 From FishC Mobile | 显示全部楼层
_2_ 发表于 2020-5-8 19:26
……什么症状,
大概是安眠药吃多了吧?

也可能是因为三天没睡过觉了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 20:16:58 | 显示全部楼层
方法很多, pstack, strace, /proc/${pid}/stack 文件, top 命令看进程状态
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-8 20:33:48 | 显示全部楼层
hrp 发表于 2020-5-8 19:42
那加个条件让while循环只循环一次,看看行不行(我想到了刚学写界面的时候想用循环和sleep在按钮上间隔 ...

能给一下当时你怎么解决那个问题的方法么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 20:57:31 | 显示全部楼层
walleeee 发表于 2020-5-8 18:55
代码大概就是这样,有时就一觉不醒了,网上说线程的什么原因,我也搞不懂,所以请大佬帮我一下

我从来没听说过这么离谱的事
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 21:51:19 | 显示全部楼层
可能神游了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-8 22:01:43 | 显示全部楼层
walleeee 发表于 2020-5-8 20:33
能给一下当时你怎么解决那个问题的方法么

我只是联想到而已,跟这个不是一回事,况且我运行你的代码并没有问题
  1. import time

  2. import requests

  3. url = 'https://baidu.com'

  4. while True:
  5.     req = requests.session()
  6.     try:
  7.         req.get(url)
  8.     except:
  9.         pass
  10.     print('sleep 120 seconds')
  11.     time.sleep(120)
  12.     print('wake up')
  13.     del req
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-9 08:09:28 | 显示全部楼层
_2_ 发表于 2020-5-8 19:26
……什么症状,
大概是安眠药吃多了吧?

同意
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-9 08:53:14 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-8 20:57
我从来没听说过这么离谱的事

安眠药吃多了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-9 18:47:35 | 显示全部楼层
第一步,看看有没有呼吸和心跳
第二步,如果有,就要考虑是否是植物人
                如果没有,就要立即拨打120并做心肺复苏
祝您的程序可以早日恢复健康
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 07:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表