Я следовал другим примерам Stack Overflow, которые относятся к этому вопросу, но они показывают только, как запустить службу и поддерживать ее работоспособность внутри программы Java. Мой вопрос в другом. Мне нужно запустить службу из программы Java, а затем выйти из программы Java и продолжить работу этой службы. Затем через несколько дней остановите эту службу из программы Java.
Вот код Java, который я использую для запуска службы, но как только программа Java выходит из службы Windows, он начался и завершил работу, и это проблема, которую я пытаюсь решить.
Код: Выделить всё
String[] startScript = { "C:/test.exe", "/c", "sc", "start", "Test" };
Runtime.getRuntime().exec(startScript);
// java program exits here but service won't keep running
Примерно через 5 дней мне нужно остановить службу с помощью кода Java, похожего на этот пример кода...
Код: Выделить всё
String[] stopScript = { "sc", "stop", "Test" };
Runtime.getRuntime().exec(stopScript);
Test.exe — это сервер сокетов прослушивания, который продолжает принимать соединения до тех пор, пока не будет остановлен. К вашему сведению, у меня уже установлен этот «test.exe» как служба Windows, и я вижу, что он появляется в диспетчере задач после запуска из приведенного выше кода Java, но только на мгновение, а затем он закрывается после завершения работы программы Java.
Как сохранить работу test.exe после закрытия программы Java?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... gram-exits