【问题标题】: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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-22
        • 1970-01-01
        • 2015-12-04
        相关资源
        最近更新 更多