再重复刷新也还是这人样子,终于想出来原因了。因为它认为我对它的服务器进行攻击了,倒也不是冤枉我,虽然事实上我并没有攻击它的想法和动机。 "@
f`O
]Wy V bIu
NCBI的BLAST服务是我们经常用到的,用来对某个序列进行同源分析或查找与待分析DNA/mRNA序列相似的序列。它除了WWW方式外,还有一个叫NetBLAST的客户端程序,用来以命令行方式运行,可以方便地处理大量的待分析序列。 ,)Q mQ^/
qGh rJ6R!
俺比较爱多事,看好了它这个功能后干脆自己写了一个调度程序来控制NetBLAST的运行,其实说白了就是设定一个数值,然后检查NetBlast的instance数量,如果不够设定值就再启动一个新的instance来分析下一个文件。所以经常把几千个序列让它一起分析,设上同时分析30-40个文件,然后就开着电脑回家睡觉,第二天就差不多分析完了。 y'+^
ME$H
/ _cOg? o
可是问题可能就出在这里,昨天晚上我本来要输入50或100的,可是不知道是输入了500还是1000,反正是多输了一个0,结果我的电脑在疯狂打开新的NETBLAST进程,这时我的程序就基本没反应了(有反应也没用了,那个检查循环结束之前即使响应新的事件也没有用,程序中有一个不算BUG的虫子,只在循环开始的时候检查预定的进程数目,中间不检查)。所以,我眼睁睁地看着我的电脑CPU利用率在90%上下波动,磁盘在疯狂地读写(估计页面交换文件不知道读写了多少遍),我费了九牛二虎之努力后,终于让它暂停下来,此时我的电脑中在运行的进程数为1000多个,又过了好半天才把这些处理完。 xApa+j6I
k5ZwGJ#r
估计服务器这时把我列入了恶意攻击的黑名单了,想想如果一台机器同时有上千个进程访问同一服务器,不当作对服务器的恶意攻击才怪! HQE#O4
c{852R
问题是我当时还没有意识到这一点,程序接下来按同时运行100进程的设定在“正常”运行,我看了一会电视回来发现进展速度非常非常快,进行管理器显示有大量的进程很快终止,我的程序每2秒检查一次NetBLAST进程数,每次都需要重要打开40-60个新进程,而结束的进程所得到的数据文件全是空的!得!白干了。 d[S!e`,iD
n;q7?KW8
直到今天我以WWW方式访问NCBI,才发现俺早被列入黑名单了。原来我昨天晚上程序恢复正常后所作的工作就是向NCBI服务器证明俺就是屡教不改。 %V+,#
W&*{j;e9%I
没有NCBI的日子该怎么过呢?