zoukankan      html  css  js  c++  java
  • Windows Server的类Xinetd服务-srvany

    应用场景

    有几个应用系统,工作在windows平台上,由金蝶等第三方厂商提供,运行都是stand_alone模式。弊端很明显,每次开机/重启,都必须RDP登录上去,把应用开启,然后断开RDP连接。(不能注销,一注销应用也就跟着shutdown了)
    必须将其注册为Windows服务,所幸Microsoft在Resource Kit Tools包中提供了实现方法。

    工作原理

    开机由某后台用户(可以是系统用户,本地用户和域用户,只要权限足够即可,稳定方面考虑,建议system用户)启动superdaemon进程 srvadny.exe,再由其调用application.exe载入后台进程工作。这一点,可以在任务管理器里确认,srvany.exe和 application.exe是同时存在的。

    原理和Linux的Xinet服务机制较像,关于Xinetd的服务机制,鸟哥的Blog有详细描述。

    实现步骤

    1.安装Resource Kit Tools,下载地址

    2.利用instsrv注册一个srvany的实例MyApps

    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Program Files\Windows Resource Kits\Tools>instsrv.exe MyApps "C:\Program File
    s\Windows Resource Kits\Tools\srvany.exe"

    The service was successfuly added!

    Make sure that you go into the Control Panel and use
    the Services applet to change the Account Name and
    Password that this newly installed service will use
    for its Security Context.

    3.编辑该实例的各项属性
    注册表编辑器regedit.exe,进入以下路径,展开以下
    “HKEY_LOCAL_MACHINE\SYSTEM\currentcontrolset\services”,找到MyApps项,新建子项,名称为”Parameters”,在里面建立以下键值

    1
    2
    3
    Application="MyApps.exe程序绝对路径"
    Description="该服务描述信息"
    AppDirectory="程序初始目录,一般指该进程工作所在目录"

    4.打开service.msc,找到MyApps服务,编辑其它属性,如启动用户,开机是否自动启动。

    5.在service.msc中启动该服务。

    6.重启服务器,确定该service自动启动成功。

  • 相关阅读:
    禁用生成8.3字符长文件名解决单目录存储大量文件写入性能下降问题
    遭遇EventSystem服务问题
    软件工程师遭遇硬件故障RAID5两块硬盘离线
    Pocket Player睡眠定时器不能选择问题的解决办法
    借助RamDisk让你的FireFox飞起来
    NVS4200M显卡“超频”
    Python数据类型
    Python变量
    端口及对应服务
    Python基础(1)
  • 原文地址:https://www.cnblogs.com/shihao/p/2312904.html
Copyright © 2011-2022 走看看