pub*_*avi 149 windows windows-services batch-file
为了运行一个应用程序,必须启动一个批处理文件(例如启动Jetty,显示实时日志等).仅当此批处理文件正在运行时,该应用程序才有效.因此我被迫让这个批处理文件运行,而不是从Windows服务器注销.
此批处理文件可以作为服务运行吗?我正在尝试一个类似问题的建议之一.
Jun*_*r M 137
NSSM完全免费且超级简单,以管理员身份运行命令提示符/终端:
nssm install "YourCoolServiceNameLabel"
Run Code Online (Sandbox Code Playgroud)
然后会出现一个对话框,以便您可以选择要运行的文件的位置.
卸载
nssm remove "YourCoolServiceNameLabel"
Run Code Online (Sandbox Code Playgroud)
Ste*_*tin 61
为什么不简单地将其设置为计划在启动时运行的计划任务?
w00*_*ngy 17
有一个内置的Windows cmd来做到这一点:sc create.不像nssm那样华丽,但你不必下载额外的软件.
sc create "ServiceName" start= demand displayname= "DisplayName" binpath= [path to .bat file]
Run Code Online (Sandbox Code Playgroud)
注意
=不需要额外的软件。使用任务调度程序 -> 创建任务 -> 隐藏。隐藏的复选框位于左下角。将任务设置为在登录时触发(或您喜欢的任何条件)并在操作选项卡中选择任务。隐藏运行可确保任务像服务一样在后台静默运行。
请注意,您还必须将程序设置为运行“无论用户是否登录”,否则程序仍将在前台运行。
在 Windows 2019 Server 上,您可以使用以下命令运行 Minecraft java 服务器:
sc create minecraft-server DisplayName= "minecraft-server" binpath="cmd.exe /CC:\Users\Administrator\Desktop\rungui1151.lnk" type= own start= auto
.lnk 文件是批处理文件的标准 Windows 快捷方式。
--- .bat 文件开始 ---
java -Xmx40960M -Xms40960M -d64 -jar minecraft_server.1.15.1.jar
--- .bat 文件结束 ---
这一切都是因为:
服务不知道如何在文件夹中启动,
cmd.exe 不知道如何在文件夹中启动
启动服务会产生“及时方式”错误,但日志文件显示服务器正在运行。
如果您需要关闭服务器,只需进入任务管理器在后台进程中找到服务器java并结束它,或者使用/stop命令从游戏中终止服务器,或者对于其他程序/服务器,使用方法与服务器有关。
正如 Doug Currie 所说,使用 RunAsService。
根据我过去的经验,您必须记住,您生成的服务将
不确定最后一个是否仍然适用......这是我前段时间参与的一个项目中的一场噩梦。
| 归档时间: |
|
| 查看次数: |
278588 次 |
| 最近记录: |