Fixed a bug in the ServerManager.java
This commit is contained in:
parent
3dd23351d0
commit
e626a80fe3
@ -106,7 +106,7 @@ public class ServerManager {
|
|||||||
processBuilder.directory(new File(serverFolder, server.getName()));
|
processBuilder.directory(new File(serverFolder, server.getName()));
|
||||||
Process process = processBuilder.start();
|
Process process = processBuilder.start();
|
||||||
|
|
||||||
server.keepAlive();
|
server.checkHealth();
|
||||||
|
|
||||||
server.setStatus(ServerStatus.ONLINE);
|
server.setStatus(ServerStatus.ONLINE);
|
||||||
server.setProcess(process);
|
server.setProcess(process);
|
||||||
@ -128,16 +128,20 @@ public class ServerManager {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
server.getProcess().getOutputStream().write("stop\n".getBytes());
|
server.getProcess().getOutputStream().write("stop\n".getBytes());
|
||||||
|
server.getProcess().getOutputStream().flush();
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
if (server.getProcess().isAlive()) {
|
if (server.getProcess() != null && server.getProcess().isAlive()) {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
server.getProcess().destroy();
|
if (server.getProcess() != null && server.getProcess().isAlive()) {
|
||||||
|
server.getProcess().destroy();
|
||||||
|
}
|
||||||
|
|
||||||
server.setStatus(ServerStatus.OFFLINE);
|
server.setStatus(ServerStatus.OFFLINE);
|
||||||
server.setProcess(null);
|
server.setProcess(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Reference in New Issue
Block a user