linux - 当实用程序 w3m 的进程运行时,脚本有时会阻塞

标签 linux bash shell

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

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

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

在某个时刻,在我扫描了 100 到 300 页后,我的程序完全阻止执行任何操作

我检查了 ps x,有​​一个实用程序 w3m 的进程正在尝试下载某些内容,但它就像空闲一样

如果我终止该进程,那么我的脚本会继续运行,没有问题,就像什么都没发生一样......

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

我正在考虑一个非常不优雅的解决方案

基本上,如果进程空闲超过 5 秒左右,我可以终止该进程,您认为如何以及如何做到这一点? 我担心我的整个程序会在此时阻塞,因此我需要一个外部脚本来检查正在运行的进程并在 w3m 阻塞时杀死它们

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

最佳答案

看起来有些页面消失了或者远程服务器没有响应,并且 w3m 挂起等待超时。 顺便说一下,在脚本中使用 w3m 是非常不寻常的。通常使用 curlwget 来实现此目的。

例如,wget--timeout=选项来避免此类问题。

经过快速谷歌搜索后,我发现 w3m 中的超时没有任何有用的信息。希望你比我幸运一点。

关于linux - 当实用程序 w3m 的进程运行时,脚本有时会阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11863831/

相关文章:

c++ - 是使用ping命令查找服务器在cpp上的网络状态吗?

c++ - libmemleak 转储泄漏回溯时如何显示正确的回溯?

regex - 使用 sed 从 javascript 文件中删除所有 console.log

java - 通过命令行自动将 Java (Android) 项目导入 Eclipse 工作区

php - 使用 PHP 的 exec() 函数重定向 shell 命令的输出

bash - 安装 Oh My Zsh 时 shell 脚本代码中无法访问命令

bash - 来自反引号的多字参数(命令替换)

linux - 使用 crontab 在 @reboot 上运行 "screen -S name ./script"命令

linux - 使 os 独立配置文件检查 curl 依赖性

linux - 检查从同一 bash 脚本启动的后台进程的运行状态