西乡做网站哪家便宜,手机访问不了自己做的网站,做游戏评论注册国外网站,南皮县网站建设公司前言 由于使用windows自动的自启方法#xff0c;不管是将程序启动服务放到开机自启文件夹中#xff0c;还是创建任务计划程序#xff0c;都没有很好的实现程序的开机自启效果#xff0c;而WinSW很好的解决了这个问题。
下载 WinSW下载地址 注意#xff1a;不同版本#…前言 由于使用windows自动的自启方法不管是将程序启动服务放到开机自启文件夹中还是创建任务计划程序都没有很好的实现程序的开机自启效果而WinSW很好的解决了这个问题。
下载 WinSW下载地址 注意不同版本有些配置是不一样的比如我用的这个版本log mode就弃用了rotate模式推荐使用roll模式。 这里我用的版本是 v2.12.0。 配置介绍 配置的话其实在下载的那两个xml文件中就有介绍到翻译着看也能懂的这里再介绍一下比较常用的。
sample-allOptions.xml 包含此版本的全部配置说明文档不长介绍的也很详细。 sample-minimal.xml 给出一个最简单的示例配置临时用用就够了。 serviceidMinio-Server/idnameMinio-Server/namedescription这个服务的描述/descriptionenv nameHOME value%BASE%/env nameMY_TOOL_HOME valueC:\etc\tools\myTool /env nameLM_LICENSE_FILE valuehost1;host2 /dependservice_id1/dependdependservice_id2/dependstartmodeAutomatic/startmodedelayedAutoStart/!-- 要执行的可执行文件 --executable%BASE%\xxx.exe/executable!-- 可执行文件传递的参数 --argumentsserver %BASE%\data/argumentsstopexecutable%BASE%\xxx.exe -s stop/stopexecutablestopargumentsserver %BASE%\data/stoparguments!-- logmoderotate/logmode --logpath%BASE%\logs/logpathlog moderoll-by-size-timesizeThreshold10240/sizeThresholdpatternyyyyMMdd/patternautoRollAtTime00:00:00/autoRollAtTimezipOlderThanNumDays5/zipOlderThanNumDayszipDateFormatyyyyMMdd/zipDateFormat/log
/serviceroll模式的默认配置
!--工作方式类似于追加模式
但除此之外如果日志文件的大小超过了设定的大小
它将滚转到myapp.1.out.log、myapp.2.out.log等等。
嵌套的sizeThreshold元素指定以KB为单位的旋转阈值(默认为10MB)
嵌套的keepFiles元素指定要保留的滚动文件的数量(默认为8)。--
log moderoll-by-sizesizeThreshold10240/sizeThresholdkeepFiles8/keepFiles
/logroll-by-time配置按日志文件时间段滚动
!--必须嵌套pattern标签指定日志文件名的时间标记格式例如yyyyMMdd HH:mm--
log moderoll-by-timepatternyyyyMMdd/pattern
/logroll-by-size-time配置按日志文件大小和时间模式滚动
!--嵌套sizeThreshold标签指定日志文件多大时生成新日志文件单位为KB
嵌套pattern标签指定当日志文件文件名最后的区分字段格式(时间格式如yyyyMMdd HH:mm)
嵌套autoRollAtTime标签指定每天在指定时间进行日志滚例如00:00:00表示每天凌晨进行日志滚动--
log moderoll-by-size-timesizeThreshold10240/sizeThresholdpatternyyyyMMdd/patternautoRollAtTime00:00:00/autoRollAtTime
/log具体参考官方文档log配置项说明及示例
可能有些配置文档中和官方给的下载xml中不一样比如这个log mode参数官方给的xml就没提到过roll-by-size-time这个配置但是文档中有其实也可以用。
示例
jar包启动示例
service !-- 服务唯一ID --idimApiId/id!-- 服务名称--nameimApiService/name!-- 服务描述--descriptionthis is im api,author:chaodev/descriptionexecutablejava/executable arguments-jar imApi.jar/arguments!-- 开机启动 --startmodeAutomatic/startmode!-- 日志配置 --logpath%BASE%\logs/logpathlogmoderoll/logmode/service注意
id唯一标识我设为jar包的名称 name服务中展示的名字 description服务描述 executablejava 或 jdk路径 arguments执行的命令和jar包路径,我这因为jar包和xml在一个目录可以直接写jar包名路径没给出也可以给路径时需要加双引号rud:/ff/xxx.jar。
启动注册服务在xxx.exe当前目录中进入cmd 执行xxxexe install服务中就注册成功了
扩展补偿两个手动启动的bat脚本
1. 后台启动
#
echo off
%1 mshta vbscript:CreateObject(WScript.Shell).Run(%~s0 ::,0,FALSE)(window.close)exit
java -jar C:\Users\Administrator\Desktop\aa\jnpf-admin-3.4.5-RELEASE.jar imApiLog.log 21
exit后台启动启动日志及后续访问日志相当于控制台输出日志显示在脚本中设置的imApiLog.log中
关闭服务
netstat -ano|findstr 8088 # 根据端口号查进程
taskkill /f /pid 13968 # 根据进程id杀进程/f强制结束该进程以及所有子进程2. dos窗口启动
echo off setlocal EnableDelayedExpansiontitle xxxx服务for %%a in (8080) do (set pid0for /f tokens2,5 %%b in (netstat -ano ^| findstr :%%a) do (set temp%%bfor /f usebackq delims: tokens1,2 %%i in (set temp) do (if %%j%%a (taskkill /f /pid %%cset pid%%cecho 端口号【%%a】相关进程已杀死) else (echo 不是本机占用端口【%%a】)))if !pid!0 (echo 端口号【%%a】没有占用)java -Xms1024m -Xmx1024m -Dfile.encodingutf-8 -jar xxx.jar
)echo 操作完成
pause安装服务
将前边准备好的xml文件及下载的WinSW程序拷贝到需要配置开机自启的程序文件夹根据需求重命名这两个文件注意保持两个文件名一致。 注意
id唯一标识我设为jar包的名称 name服务中展示的名字 description服务描述 executablejava 或 jdk路径 arguments执行的命令和jar包路径,我这因为jar包和xml在一个目录可以直接写jar包名路径没给出也可以给路径时需要加双引号rud:/ff/xxx.jar。
启动注册服务在imNginxService.exe当前目录中进入cmd 输入 imNginxService.exe install 回车服务中就注册成功了
执行指令
执行命令安装服务
WinSW-x64.exe install卸载服务
WinSW-x64.exe uninstall启动服务
WinSW-x64.exe start停止服务
WinSW-x64.exe stop重启服务
WinSW-x64.exe restart检查服务状态
WinSW-x64.exe status刷新服务属性而不是重新安装
WinSW-x64.exe refresh参考链接https://blog.csdn.net/zwjzone/article/details/132362965