Killing Stanford core nlp process

别说谁变了你拦得住时间么 提交于 2020-01-03 04:05:05

问题


I launch Stanford Core NLP server using the following command (on Ubuntu 16.04):

java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000

I would like to kill this server once I am done using it. Simply closing terminal does not help. It does not release memory. Is there way to kill it and release memory without rebooting computer?


回答1:


You can always CTRL-C in the terminal window to stop the server.

You could also ps aux | grep StanfordCoreNLPServer to find the pid and then kill the process manually.

When the server is started it should create a shutdown key and you can send that message to the server to close the server. This isn't working on my Macbook Pro (maybe a permission issue ??) but I've seen it work on other machines.

Here is the command:

wget "localhost:9000/shutdown?key=`cat /tmp/corenlp.shutdown`" -O -

Note the shutdown key is stored at /tmp/corenlp.shutdown

If you use the the -server_id server0 option the shutdown key will be stored at this path /tmp/corenlp.shutdown.server0




回答2:


If you just want to kill the process. You can use lsof command.

#install lsof if missing
sudo apt install lsof

You can find the pid of CoreNLP using

lsof -i:9000

Replace 9000 with the port you used to run the server.

The output looks like

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15867 XXXX   XXX  IPv6 XXXXXX      0t0  TCP *:9000 (LISTEN)

Use the pid from here and run.

kill 15867

PID of my server process is 15867.



来源:https://stackoverflow.com/questions/43826851/killing-stanford-core-nlp-process

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!