标签:java Stanford 启动 实例 报错 进程 服务 CoreNLP StanfordCoreNLP
在服务器上运行Stanford,今日无法启动"StanfordCoreNLP"了,就是运行下面代码一直在运行,不结束,不报错。
from stanfordcorenlp import StanfordCoreNLP
std_nlp = StanfordCoreNLP('/data/stanford-corenlp-4.2.0')
最后找到原因:后台启动的相关java服务太多了。
原因解释
StandordCoreNLP底层是Java编写的,在Python生成StanfordCoreNLP实例对象时,这个包会在后台启动一个java服务,供对象调用。但是,启动的服务不一定会被关掉,当服务启动的太多,到了一定数量时,就无法启动新的服务,也就出现不结束,不报错的奇怪现象。
解决方法
找到相关服务并杀死就好了,linux下,借助ps
命令搜索相关的java服务,如下:
ps -ef | grep java
找到服务的进程ID,然后使用kill -9 进程ID
杀死多余服务,OK!
- 也可以用下
wget "localhost:9000/shutdown?key=`cat /tmp/corenlp.shutdown`" -O -
- 最佳方式,开一个进程,每次都用这个进程就好
std_nlp = StanfordCoreNLP('http://localhost', port=9000)
标签:java,Stanford,启动,实例,报错,进程,服务,CoreNLP,StanfordCoreNLP 来源: https://www.cnblogs.com/mantoureganmian/p/15086427.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。