如何停止使用此命令启动的 Java jar 文件应用程序

如何停止使用此命令启动的 Java jar 文件应用程序

为了运行游戏服务器(minecraft),我通过在 CentOS 中运行以下命令来启动它:

java -Xms512M -Xmx1G -jar minecraft_server.jar

但我不知道如何停止运行此文件。我假设它有自己的内部命令,但考虑到它可能在后台启动并运行很长时间,我该如何停止此 Java 命令?

谢谢。

答案1

您可以结合使用 ps 和 kill 来停止特定进程。

您首先要ps -aux | grep minecraft获取进程号 - 即第二个字段,第一个数字。

然后您可以kill $PID向该进程发送 SIGTERM 并让其正常关闭。

答案2

您可以使用以下 2 个文件来启动/停止服务文件

启动脚本

#!/usr/bin/env bash
PID=0
if [ -f './pid' ]; then
    PID=$(cat ./pid)
fi

if ps -p $PID > /dev/null
then
   echo "Service with $PID is already running"
else
    nohup java -jar ./service.jar > service.out 2> errors.txt < /dev/null & PID=$!; echo $PID > ./pid
fi

停止脚本

#!/usr/bin/env bash
if [ -f './pid' ]; then
    PID=$(cat ./pid) && kill -15 $PID
fi

相关内容