为了运行一个游戏服务器(我的世界),我通过在CentOS中运行这个命令来启动它:
java -Xms512M -Xmx1G -jar minecraft_server.jar
但我不知道如何阻止这个文件运行。 我认为它有自己的内部命令,但考虑到它可能会开始在后台运行很长一段时间,我怎样才能停止这个Java命令?
谢谢。
您可以使用ps和kill的组合来停止特定的进程。
你会先做ps -aux | grep minecraft ps -aux | grep minecraft获取进程号码 – 这是第二个字段,第一个号码。
然后,您可以发出kill $PID来将SIGTERM发送到进程并正常closures。
您可以使用以下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