하나의 응용 프로그램을 실행하려면 배치 파일을 시작해야합니다 (제트 시작, 라이브 로그 표시 등). 이 배치 파일이 실행중인 경우에만 응용 프로그램이 작동합니다. 따라서이 배치 파일을 실행하고 Windows 서버에서 로그 아웃하지 않아야합니다.
이 배치 파일을 서비스로 실행할 수 있습니까? 나는 비슷한 질문 에서 제안 중 하나를 실험하고 있습니다.
하나의 응용 프로그램을 실행하려면 배치 파일을 시작해야합니다 (제트 시작, 라이브 로그 표시 등). 이 배치 파일이 실행중인 경우에만 응용 프로그램이 작동합니다. 따라서이 배치 파일을 실행하고 Windows 서버에서 로그 아웃하지 않아야합니다.
이 배치 파일을 서비스로 실행할 수 있습니까? 나는 비슷한 질문 에서 제안 중 하나를 실험하고 있습니다.
답변:
NSSM 은 완전히 무료이며 매우 간단하며 관리자 권한으로 명령 프롬프트 / 터미널을 실행합니다.
nssm install "YourCoolServiceNameLabel"
그러면 대화 상자가 나타나서 실행할 파일 위치를 선택할 수 있습니다.
제거
nssm remove "YourCoolServiceNameLabel"
nssm
팝업 데이터 입력을 피하기 위해 입력에 필요한 모든 인수 를 제공하는 방법이 있는지 알고 있습니까? 프로세스를 자동화하려고합니다.
시작시 실행되도록 예약 된 작업으로 간단하게 설정하지 않는 이유는 무엇입니까?
이를 위해 내장 된 Windows cmd가 있습니다 : sc create . nssm만큼 훌륭하지는 않지만 추가 소프트웨어를 다운로드 할 필요는 없습니다.
sc create "ServiceName" start= demand displayname= "DisplayName" binpath= [path to .bat file]
노트
=
무료는 아니지만 (39 달러) FireDaemon 은 저에게 매우 효과적이었습니다. 배치 파일을 실행하지만 예약, 서비스 모니터링, GUI 또는 XML 기반 서비스 설치, 종속성, 환경 변수 및 로그 관리와 같은 추가되고 매우 유용한 기능이 많이 있습니다.
FireDaemon을 사용하여 JBoss 응용 프로그램 서버 ( run.bat ) 를 시작 했지만 FireDaemon 구성 기능이 풍부하여 배치 파일을 버리고 FireDaemon 서비스 정의에서 해당 명령의 의도를 재현 할 수 있음을 알게되었습니다.
이 서비스 (또는 기술적으로는 모든 서비스)를 관리 할 Windows 서버가 많은 경우 살펴볼 수있는 Trinity라는 SUPER FireDaemon도 있습니다.
Windows 2019 Server에서는 다음 명령을 사용하여 Minecraft Java 서버를 실행할 수 있습니다.
sc create minecraft-server DisplayName = "minecraft-server"binpath = "cmd.exe /CC:\Users\Administrator\Desktop\rungui1151.lnk"type = 자체 시작 = 자동
.lnk 파일은 배치 파일에 대한 표준 Windows 바로 가기입니다.
--- .bat 파일이 시작됩니다 ---
java -Xmx40960M -Xms40960M -d64 -jar minecraft_server.1.15.1.jar
--- .bat 파일이 종료됩니다 ---
이 모든 이유는 다음과 같습니다.
서비스가 폴더에서 시작하는 방법을 모릅니다.
cmd.exe가 폴더에서 시작하는 방법을 모른다
서비스를 시작하면 "적시 방식"오류가 발생하지만 로그 파일은 서버가 실행 중임을 나타냅니다.
서버를 종료 해야하는 경우 작업 관리자로 이동하여 백그라운드 프로세스에서 서버 java를 찾아서 종료하거나 / stop 명령을 사용하여 게임에서 서버를 종료하거나 다른 프로그램 / 서버의 경우 다음 방법을 사용하십시오 서버와 관련이 있습니다.