【问题标题】:Killing Stanford core nlp process杀死斯坦福核心nlp进程
【发布时间】:2017-05-07 01:04:24
【问题描述】:
我使用以下命令启动 Stanford Core NLP 服务器(在 Ubuntu 16.04 上):
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
一旦我用完这个服务器,我想杀死它。简单地关闭终端并没有帮助。它不会释放内存。有没有办法在不重新启动计算机的情况下杀死它并释放内存?
【问题讨论】:
标签:
linux
ubuntu
stanford-nlp
【解决方案1】:
如果你只想终止进程。您可以使用 lsof 命令。
#install lsof if missing
sudo apt install lsof
您可以使用
找到 CoreNLP 的 pid
lsof -i:9000
将 9000 替换为您用于运行服务器的端口。
输出看起来像
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 15867 XXXX XXX IPv6 XXXXXX 0t0 TCP *:9000 (LISTEN)
使用此处的 pid 并运行。
kill 15867
我的服务器进程的PID是15867。
【解决方案2】:
您可以随时在终端窗口中CTRL-C 停止服务器。
您也可以ps aux | grep StanfordCoreNLPServer 找到pid,然后手动终止进程。
当服务器启动时,它应该创建一个关闭键,您可以将该消息发送到服务器以关闭服务器。这在我的 Macbook Pro 上不起作用(可能是权限问题??),但我已经看到它在其他机器上工作。
命令如下:
wget "localhost:9000/shutdown?key=`cat /tmp/corenlp.shutdown`" -O -
注意关机键存储在/tmp/corenlp.shutdown
如果您使用-server_id server0 选项,则关机密钥将存储在此路径/tmp/corenlp.shutdown.server0