防止系统在注销后关闭
解决方法:将系统(bat文件)注册为windows服务
1、下载 instsrv.exe 和 srvany.exe
下载地址:https://github.com/zaishiba/software
下载完成后将 instsrv.exe 和 srvany.exe 复制到 C:\Windows\System32 目录下;64位操作系统复制一份到 C:\Windows\SysWOW64。
2、运行 DOS 命令
打开 cmd.exe 输入如下命令
instsrv ServiceName C:\Windows\System32\srvany.exe
ServiceName: SRD系统自定义的名字,这个可以随便起,见名之意即可
3、操作注册表
打开注册表,按照这个路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
找到自定义的服务名称。
路径里面的 ServiceName 是你刚刚安装服务时自定义的服务名称。
如果你自定义的服务名下没有 Parameters 项目,则对服务名称项目右击新建项,名称为 Parameters,然后定位到 Parameters 项,新建以下几个字符串值。
- 名称 Application 值为你要作为服务运行的BAT文件地址(例如:
C:\server\prj-siemens-bj\bin\prj-siemens-bj.bat
)。 - 名称 AppDirectory 值为你要作为服务运行的BAT文件所在文件夹路径(例如:
C:\server\prj-siemens-bj\bin
)。 - 名称 AppParameters 值为你要作为服务运行的BAT文件启动所需要的参数,这里的程序没有参数就不用添加值)。
4、启动服务和删除服务
在 cmd.exe 中输入 services.msc 打开服务,找到自定义服务名称,点击启动
删除服务使用如下命令
在删除服务之前需要将该服务关闭,然后在 dos 窗口输入一下代码。
使用 instsrv 删除
instsrv delete ServiceName
使用 sc 命令删除
sc delete ServiceName
ServiceName: 自定义服务名称
5、删除服务后SRD 系统还在运行
原因:服务删除了,但是系统会守护 Java 进程,所以 SRD 系统还在运行,可以去了解一下为什么在删除服务和本地加载的SRD系统过的资源后SRD系统还在运行
解决方法:将 Java进程杀掉即可
## 查看所有的端口
netstat -a
## 查看 SRD 系统的端口 7100
netstat -ano|findstr "7100"
## 杀掉使用端口的进程,这里的 6564 是占用 7100 的进程(pid)
taskkill /f /t /im 6564
5、自测
我已经将 instsrv.exe 和 srvany.exe 复制到了 C:\Windows\System32 和 64位操作系统 C:\Windows\SysWOW64 目录下。
运行DOS命令
查看服务并操作注册表
在 cmd.exe 中输入 regedit 回车打开注册表,按照上面所说的路径找到 SeerSrdServer。
按照第三步操作注册表,新建项后添加相应的字符串值。
启动服务
查看 SRD 系统启动是否成功,注销后再次打开 SRD 系统(发现可以正常启动)
dd
- 点赞
- 收藏
- 关注作者
评论(0)