Linux 当实用程序w3m中的进程正在运行时,脚本有时会阻塞

Linux 当实用程序w3m中的进程正在运行时,脚本有时会阻塞,linux,bash,shell,Linux,Bash,Shell,我正在写一个脚本来计算单词在网络上的分布(基本上是单词的出现次数) 我所做的是生成搜索引擎的随机页面,从这些页面中提取链接并计算单词 我在用谷歌,但是验证码阻止了我的请求 现在我正在使用bing 一切正常,但有一个奇怪的问题 在某一点上,在我扫描了100到300页之后,我的程序完全停止了任何操作 我检查了PSX,有一个实用程序w3m的过程,它试图下载一些东西,但这就像是空转 如果我终止进程,那么我的脚本将继续运行,不会出现任何问题,就像什么都没有发生一样 可能是什么?我写的一些错误代码,bing

我正在写一个脚本来计算单词在网络上的分布(基本上是单词的出现次数)

我所做的是生成搜索引擎的随机页面,从这些页面中提取链接并计算单词

我在用谷歌,但是验证码阻止了我的请求 现在我正在使用bing 一切正常,但有一个奇怪的问题

在某一点上,在我扫描了100到300页之后,我的程序完全停止了任何操作

我检查了PSX,有一个实用程序w3m的过程,它试图下载一些东西,但这就像是空转

如果我终止进程,那么我的脚本将继续运行,不会出现任何问题,就像什么都没有发生一样

可能是什么?我写的一些错误代码,bing阻止了太多的请求

我在想一个非常不公平的解决办法

基本上,如果进程空闲超过5秒左右,我就可以终止它,你觉得怎么样,怎么做? 我担心我的整个程序都会在这一点上阻塞,所以我需要一个外部脚本来检查正在运行的进程,如果w3m进程阻塞,则会杀死它们

非常感谢,很抱歉占用您的时间。
非常感谢

看起来有些页面消失了,或者远程服务器没有响应,w3m挂在上面等待超时超过。 顺便说一句,在脚本中使用
w3m
是非常不合适的。通常,
curl
wget
用于此目的

例如,
wget
具有
--timeout=
选项以避免此类问题

在快速搜索之后,我发现在
w3m
中没有任何关于超时的有用信息。希望你比我幸运一点

在我扫描了大约100到300页之后


您可能会超过搜索提供程序设置的某些阈值,以防止重复刮取。如果搜索提供商猜测你是一个松散的机器人,他们可能会在短时间内限制你的搜索结果。

我使用了timeout 20s w3m。它现在工作得很好,超时基本上会在x秒后终止命令。顺便谢谢你的帮助:)