Пиша малко конзолно приложение (ще се изпълнява като услуга), което основно стартира Java приложение, когато то работи, изключва се, ако Java приложението се затвори, и изключва Java приложението, ако се затвори.
Мисля, че първите две работят правилно, но не знам как да открия кога приложението .NET се изключва, за да мога да изключа приложението Java, преди това да се случи. Търсенето в Google просто връща куп неща за откриване на изключване на Windows.
Може ли някой да ми каже как мога да се справя с тази част и дали останалото изглежда добре?
namespace MinecraftDaemon
{
class Program
{
public static void LaunchMinecraft(String file, String memoryValue)
{
String memParams = "-Xmx" + memoryValue + "M" + " -Xms" + memoryValue + "M ";
String args = memParams + "-jar " + file + " nogui";
ProcessStartInfo processInfo = new ProcessStartInfo("java.exe", args);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
try
{
using (Process minecraftProcess = Process.Start(processInfo))
{
minecraftProcess.WaitForExit();
}
}
catch
{
// Log Error
}
}
static void Main(string[] args)
{
Arguments CommandLine = new Arguments(args);
if (CommandLine["file"] != null && CommandLine["memory"] != null)
{
// Launch the Application
LaunchMinecraft(CommandLine["file"], CommandLine["memory"]);
}
else
{
LaunchMinecraft("minecraft_server.jar", "1024");
}
}
}
}