其他分享
首页 > 其他分享> > 使用nssm将服务托管给win service

使用nssm将服务托管给win service

作者:互联网

nssm官网:http://www.nssm.cc/
下载好nssm包后解压,找到nssm.exe文件,后续操作都需要以命令行启动

1.安装服务

PS E:\> .\nssm.exe install test
Administrator access is needed to install a service.

application

程序的具体位置

image

命令行形式:
nssm set test Application "C:\Program Files\Java\jdk1.8.0_144\bin\java.exe"
nssm set test AppDirectory "D:\test"
nssm set test AppParameters "-jar xxx.jar"

Details

显示服务的详细信息

image

命令行形式
nssm set test DisplayName UT2k3
nssm set test Description Unreal Tournament 2003
nssm set test Start SERVICE_AUTO_START

开机启动类型分别为

  • SERVICE_AUTO_START: 开机自启
  • SERVICE_DELAYED_AUTO_START: 开机延迟自启
  • SERVICE_DEMAND_START: 手动启动
  • SERVICE_DISABLED: 服务器不可用

Log on

运行账户,windows服务很少改这个

image

命令行形式
nssm set UT2003 ObjectName LocalSystem
nssm set UT2003 Type SERVICE_WIN32_OWN_PROCESS

Dependencies

依赖:指明当前服务运行前,必须启动哪个服务,例如java程序可能依赖mysql

image

命令行形式
nssm set test DependOnService MySQL

Process

可用于设置应用程序的进程 优先级和 CPU 亲和性。默认情况下,应用程序将以正常优先级运行,并允许在所有 CPU 上执行。如果您希望将进程限制为可用 CPU 的子集,请取消选中“所有处理器”并根据需要选择 CPU。服务运行时,可以从 Windows 任务管理器更改进程优先级和亲缘关系。

image

命令行形式
nssm set test AppPriority NORMAL_PRIORITY_CLASS
nssm set test AppNoConsole 0
nssm set test AppAffinity All

Shutdown

列出了在崩溃后或服务正常停止时整理应用程序时使用的各种停止方法和超时时长。

image

命令行形式
nssm set test AppStopMethodSkip 0
nssm set test AppStopMethodConsole 1500
nssm set test AppStopMethodWindow 1500
nssm set test AppStopMethodThreads 1500

exit actions

可用于调整服务退出时的 重启限制和默认 操作。您还可以指定 应用程序自动重新启动之间的强制延迟。要为特定应用程序退出代码配置退出操作,您必须使用注册表,如下所述。

image

命令行形式
nssm set test AppThrottle 1500
nssm set test AppExit Default Restart
nssm set test AppRestartDelay 0

I/O

指定日志输出位置

image

命令行形式
nssm set test AppStdout C:\games\ut2003\service.log
nssm set test AppStderr C:\games\ut2003\service.log

file rotation

日志切割,文件轮换选项卡可与 I/O设置结合使用,以在服务重新启动时配置输出文件的轮换。

image

命令行形式
nssm set test AppStdoutCreationDisposition 4
nssm set test AppStderrCreationDisposition 4
nssm set test AppRotateFiles 1
nssm set test AppRotateOnline 0
nssm set test AppRotateSeconds 86400
nssm set test AppRotateBytes 1048576

Environment

用于指定以换行符分隔的环境变量列表以传递给应用程序。如果选中替换默认环境复选框,则指定的变量将是唯一传递给服务的变量。未选中时(默认),将保留服务启动时创建的环境。

image

命令行形式
nssm set test AppEnvironmentExtra JAVA_HOME=C:\java

标签:nssm,set,服务,service,win,命令行,test,java
来源: https://www.cnblogs.com/forlive/p/16378909.html