Application

如何停止使用此命令啟動的 Java jar 文件應用程序

  • November 18, 2016

為了執行遊戲伺服器(我的世界),我通過在 CentOS 中執行以下命令來啟動它:

java -Xms512M -Xmx1G -jar minecraft_server.jar

但我不知道如何阻止這個文件執行。我假設它有自己的內部命令,但考慮到它可能在後台啟動並執行很長時間,我該如何停止這個 Java 命令?

謝謝你。

您可以使用 ps 和 kill 的組合來停止特定程序。

您首先ps -aux | grep minecraft要獲取程序號 - 這是第二個欄位,第一個數字。

然後你可以kill $PID發送 SIGTERM 到程序並讓它正常關閉。

您可以使用以下 2 個文件來啟動/停止service.jar

start.sh

#!/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

stop.sh

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

引用自:https://serverfault.com/questions/459146