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

2020-06-19 17:28:35 +08:00
 jeeyong

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

有这方面经验的朋友吗?

3840 次点击
所在节点    Python
19 条回复
ysc3839
2020-06-19 17:30:10 +08:00
发代码看看?
jyyx
2020-06-19 17:33:01 +08:00
开启了快速编辑模式? 关闭试下
jeeyong
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
2020-06-19 17:35:25 +08:00
0.0 我有个朋友也有这个问题...找不到原因,写脚本自动重启重新运行
jeeyong
2020-06-19 17:35:30 +08:00
@jyyx 都关了...快速编辑模式..和插入模式 都点掉了.
newlifeinsc
2020-06-19 17:36:20 +08:00
windows 的 console 很容易点击进入快速编辑模式,console 的标题前面变成”选择 xxx",这时候输出会被 block 住,造成程序也没法执行, 按 enter 又恢复了。 可以选择关闭这个 快速编辑模式, 或者小心别点 console 进入这个模式了
jeeyong
2020-06-19 17:48:15 +08:00
@newlifeinsc 快速编辑模式已经关闭了.
回到窗口按什么都没反映了...
准备尝试改用 powershell 试试...
如果有后续会来回复
ysc3839
2020-06-19 17:49:22 +08:00
@jeeyong 这段代码看上去没什么问题。用调试器看看停在哪了吧。
jeeyong
2020-06-19 18:41:10 +08:00
@ysc3839 故障无法重现... >.< 你说闹心不
xiaoming1992
2020-06-19 19:18:03 +08:00
我怎么只看到 else 没看到 if...
jeeyong
2020-06-19 19:29:06 +08:00
@xiaoming1992
try... except... else...
这是一组..
xiaoming1992
2020-06-19 23:49:41 +08:00
@jeeyong 看样子我的 python 学的是真菜,我竟然不知道有这么个东西。。。
qile1
2020-06-20 11:01:51 +08:00
我也是在 win 平台出现多次 python 卡死现象,莫名其妙就卡那里啦,然后在命令窗口双击两下鼠标或者按 esc 键会继续执行(●°u°●)​ 」
我把这个归到了服务商的 cps 服务器性能问题,
jeeyong
2020-06-21 02:31:18 +08:00
@qile1 你这个不是因为开启了快速编辑模式, 然后 cmd 窗口失去焦点而造成的吗?
mmdsun
2020-06-21 03:23:58 +08:00
卡死了按一下键盘向下试试看。
jeeyong
2020-06-21 17:48:48 +08:00
@mmdsun 试过了. 不行
回车, 空格, esc, ctrl+c, 上下左右, pageUp, pageDown.........
qile1
2020-06-21 22:33:14 +08:00
@jeeyong 失焦应该马上无响应吧,我是腾讯云服务器问题大,百度云服务器还是比较稳定的
mmdsun
2020-06-22 12:43:32 +08:00
@jeeyong 那应该不是 cmd 的问题 cmd 卡了按键盘下应该就反应了。看下内存占用和 IO 。比如是不是有资源没有 close 等 。
JCZ2MkKb5S8ZX9pq
2020-06-22 13:04:34 +08:00
插几个 log.debug 当断点看看卡哪儿了?如果有用子进程有时候也会有点问题,最好单独暴力跑一下看看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/683114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX