Um eine Anwendung ausführen zu können, muss eine Batch-Datei gestartet werden (z. B. Jetty starten, Live-Protokolle anzeigen usw.). Die Anwendung funktioniert nur, wenn diese Batchdatei ausgeführt wird. Ich bin daher gezwungen, diese Batchdatei auszuführen und mich nicht vom Windows-Server abzumelden.
Kann diese Batchdatei als Dienst ausgeführt werden? Ich experimentiere mit einem der Vorschläge aus einer ähnlichen Frage .
windows
windows-services
batch-file
publicRavi
quelle
quelle
Antworten:
NSSM ist völlig kostenlos und sehr einfach und führt die Eingabeaufforderung / das Terminal als Administrator aus:
Anschließend wird ein Dialogfeld angezeigt, in dem Sie auswählen können, wo sich die Datei befindet, die Sie ausführen möchten.
zu deinstallieren
quelle
nssm
alle erforderlichen Argumente bei der Eingabe anzugeben, um die Eingabe von Popup-Daten zu vermeiden? Ich versuche, den Prozess zu automatisieren.Warum nicht einfach als geplante Aufgabe einrichten, die beim Start ausgeführt werden soll?
quelle
Dazu gibt es ein eingebautes Windows-Cmd: sc create . Nicht so schick wie nssm, aber Sie müssen keine zusätzliche Software herunterladen.
Hinweis
=
quelle
Keine zusätzliche Software erforderlich. Verwenden Sie den Taskplaner -> Aufgabe erstellen -> ausgeblendet. Das Kontrollkästchen für versteckt befindet sich in der unteren linken Ecke. Stellen Sie die Aufgabe ein, die beim Anmelden ausgelöst werden soll (oder eine beliebige Bedingung), und wählen Sie die Aufgabe auf der Registerkarte Aktionen aus. Wenn Sie es versteckt ausführen, wird sichergestellt, dass die Aufgabe wie ein Dienst im Hintergrund ausgeführt wird.
Beachten Sie, dass Sie das Programm auch so einstellen müssen, dass es ausgeführt wird, "ob der Benutzer angemeldet ist oder nicht". Andernfalls wird das Programm weiterhin im Vordergrund ausgeführt.
quelle
Wie Doug Currie sagt, benutze RunAsService.
Aus meiner bisherigen Erfahrung müssen Sie sich daran erinnern, dass der von Ihnen generierte Service dies auch tun wird
Ich bin mir nicht sicher, ob der letzte noch zutrifft ... es war ein großer Albtraum in einem Projekt, an dem ich vor einiger Zeit gearbeitet habe.
quelle
Obwohl es nicht kostenlos ist (aber 39 US-Dollar), hat FireDaemon für mich so gut funktioniert, dass ich es empfehlen muss. Es wird Ihre Batch-Datei ausführen, verfügt jedoch über zahlreiche zusätzliche und sehr nützliche Funktionen wie Zeitplanung, Service-Up-Überwachung, GUI- oder XML-basierte Installation von Diensten, Abhängigkeiten, Umgebungsvariablen und Protokollverwaltung.
Ich begann mit FireDaemon, um JBoss-Anwendungsserver ( run.bat ) zu starten, stellte jedoch kurz darauf fest, dass ich aufgrund der umfangreichen Konfigurationsmöglichkeiten von FireDaemon die Batchdatei löschen und die Absicht der Befehle in der FireDaemon-Dienstdefinition neu erstellen konnte.
Es gibt auch einen SUPER FireDaemon namens Trinity, den Sie sich ansehen sollten, wenn Sie über eine große Anzahl von Windows-Servern verfügen, auf denen dieser Dienst (oder technisch jeder Dienst) verwaltet werden kann.
quelle
Unter Windows 2019 Server können Sie einen Minecraft-Java-Server mit den folgenden Befehlen ausführen:
sc create minecraft-server DisplayName = "minecraft-server" binpath = "cmd.exe /CC:\Users\Administrator\Desktop\rungui1151.lnk" type = own start = auto
Die .lnk-Datei ist eine Standard-Windows-Verknüpfung zu einer Batchdatei.
--- .bat Datei beginnt ---
java -Xmx40960M -Xms40960M -d64 -jar minecraft_server.1.15.1.jar
--- .bat Datei endet ---
All dies, weil:
Dienst weiß nicht, wie man in einem Ordner startet,
cmd.exe weiß nicht, wie man in einem Ordner startet
Das Starten des Dienstes führt zu einem "rechtzeitigen" Fehler, aber die Protokolldatei zeigt an, dass der Server ausgeführt wird.
Wenn Sie den Server herunterfahren müssen, gehen Sie einfach in den Task-Manager und suchen Sie den Server Java in Hintergrundprozessen und beenden Sie ihn oder beenden Sie den Server im Spiel mit dem Befehl / stop oder verwenden Sie für andere Programme / Server die Methoden relevant für den Server.
quelle
AlwaysUp führt Ihre Batchdatei problemlos als Dienst aus. Es ähnelt FireDaemon (oben erwähnt) und ist nicht kostenlos, aber Sie können feststellen, dass der umfangreiche Funktionsumfang in einer professionellen Umgebung von Vorteil ist.
Viel Glück!
quelle