在过去的10个小时里,我一直试图找到一种方法来启动/停止与我的php脚本位于同一目录中的craftbukkit.jar文件。我已经尝试了几乎所有我在stackoverflow上找到的解决方案,但没有一个能够工作。
我同时尝试了shell_exec("java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true");
和exec("java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true");
我还尝试将java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true
放在外部的start.sh文件中,然后使用exec("start.sh")
我做错了什么?它应该在进程运行时创建所有bukkit配置文件(就像在计算机上运行它时一样)
答案 0 :(得分:1)
我认为您需要一个控制台来运行服务器... 我会建议服务器的屏幕会话:
要启动服务器,命令可能如下所示:
exec("screen -S bukkit sh /home/user/bukkit/start.sh")
-S选项用于命名会话。 因此,当您想通过ssh连接到控制台时,您只需执行
screen -r bukkit
也许你应该使用命令的绝对路径......如果它更好或不是
那么不是shure有一种方法可以将一些命令发送到该会话以停止服务器......但我现在不记得了!
如果您不使用屏幕,则可以尝试
exec("killall screen")
杀死所有的屏幕... 但要小心,因为服务器可能无法保存最近的更改(不关闭bukkit-server)