V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jeeyong
V2EX  ›  Python

通过 cmd 执行 Python 脚本会卡主,没有报错.

  •  1
     
  •   jeeyong · 2020-06-19 17:28:35 +08:00 · 3842 次点击
    这是一个创建于 1617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    win 平台, 在 vps 里跑爬虫任务. 通过 cmd 启动的脚本.但是运行一段时间, 脚本就卡住了.没有任何报错. 我通过脚本执行了 win 自带的命令. os.system 和 os.popen 方式.

    有这方面经验的朋友吗?

    19 条回复    2020-06-22 13:04:34 +08:00
    ysc3839
        1
    ysc3839  
       2020-06-19 17:30:10 +08:00 via Android
    发代码看看?
    jyyx
        2
    jyyx  
       2020-06-19 17:33:01 +08:00
    开启了快速编辑模式? 关闭试下
    jeeyong
        3
    jeeyong  
    OP
       2020-06-19 17:35:09 +08:00
    @ysc3839
    """
    def chk_connect():
    with requests.session() as s:
    headers = {"user-agent": "curl/7.5.1"}
    try:
    res = s.get("http://ip.cip.cc", headers=headers, timeout=3)
    except Exception as e:
    print(e)
    return False
    else:
    ip = res.content.decode().strip()
    return ip
    """

    我觉得和代码关系不大.
    假死的位置都是在这段代码部分
    接下来应该执行这部分, 但是没有反应了.
    sss495088732
        4
    sss495088732  
       2020-06-19 17:35:25 +08:00
    0.0 我有个朋友也有这个问题...找不到原因,写脚本自动重启重新运行
    jeeyong
        5
    jeeyong  
    OP
       2020-06-19 17:35:30 +08:00
    @jyyx 都关了...快速编辑模式..和插入模式 都点掉了.
    newlifeinsc
        6
    newlifeinsc  
       2020-06-19 17:36:20 +08:00
    windows 的 console 很容易点击进入快速编辑模式,console 的标题前面变成”选择 xxx",这时候输出会被 block 住,造成程序也没法执行, 按 enter 又恢复了。 可以选择关闭这个 快速编辑模式, 或者小心别点 console 进入这个模式了
    jeeyong
        7
    jeeyong  
    OP
       2020-06-19 17:48:15 +08:00
    @newlifeinsc 快速编辑模式已经关闭了.
    回到窗口按什么都没反映了...
    准备尝试改用 powershell 试试...
    如果有后续会来回复
    ysc3839
        8
    ysc3839  
       2020-06-19 17:49:22 +08:00 via Android
    @jeeyong 这段代码看上去没什么问题。用调试器看看停在哪了吧。
    jeeyong
        9
    jeeyong  
    OP
       2020-06-19 18:41:10 +08:00
    @ysc3839 故障无法重现... >.< 你说闹心不
    xiaoming1992
        10
    xiaoming1992  
       2020-06-19 19:18:03 +08:00 via Android
    我怎么只看到 else 没看到 if...
    jeeyong
        11
    jeeyong  
    OP
       2020-06-19 19:29:06 +08:00
    @xiaoming1992
    try... except... else...
    这是一组..
    xiaoming1992
        12
    xiaoming1992  
       2020-06-19 23:49:41 +08:00
    @jeeyong 看样子我的 python 学的是真菜,我竟然不知道有这么个东西。。。
    qile1
        13
    qile1  
       2020-06-20 11:01:51 +08:00 via Android
    我也是在 win 平台出现多次 python 卡死现象,莫名其妙就卡那里啦,然后在命令窗口双击两下鼠标或者按 esc 键会继续执行(●°u°●)​ 」
    我把这个归到了服务商的 cps 服务器性能问题,
    jeeyong
        14
    jeeyong  
    OP
       2020-06-21 02:31:18 +08:00
    @qile1 你这个不是因为开启了快速编辑模式, 然后 cmd 窗口失去焦点而造成的吗?
    mmdsun
        15
    mmdsun  
       2020-06-21 03:23:58 +08:00 via Android
    卡死了按一下键盘向下试试看。
    jeeyong
        16
    jeeyong  
    OP
       2020-06-21 17:48:48 +08:00
    @mmdsun 试过了. 不行
    回车, 空格, esc, ctrl+c, 上下左右, pageUp, pageDown.........
    qile1
        17
    qile1  
       2020-06-21 22:33:14 +08:00 via Android
    @jeeyong 失焦应该马上无响应吧,我是腾讯云服务器问题大,百度云服务器还是比较稳定的
    mmdsun
        18
    mmdsun  
       2020-06-22 12:43:32 +08:00 via Android
    @jeeyong 那应该不是 cmd 的问题 cmd 卡了按键盘下应该就反应了。看下内存占用和 IO 。比如是不是有资源没有 close 等 。
    JCZ2MkKb5S8ZX9pq
        19
    JCZ2MkKb5S8ZX9pq  
       2020-06-22 13:04:34 +08:00 via iPhone
    插几个 log.debug 当断点看看卡哪儿了?如果有用子进程有时候也会有点问题,最好单独暴力跑一下看看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1093 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:24 · PVG 07:24 · LAX 15:24 · JFK 18:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.