使用instsrv.exe和srvany.exe创建windows服务[通俗易懂]

使用instsrv.exe和srvany.exe创建windows服务[通俗易懂]srvany.exe是MicrosoftWindowsResourceKits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。         将srvany.e

大家好,又见面了,我是你们的朋友全栈君。

          srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。

          将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,64位系统需要同时复制到C:\Windows\SysWow64\下,我们可以通过下面的命令行进行srvany.exe的服务安装卸载:

          安装:instsrv ServiceName C:\Windows\System32\srvany.exe

        卸载:instsrv ServiceName remove

        ServiceName即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。

  安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 – 运行 – regedit,打开注册表,定位到下面的路径。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName

        同样的ServiceName是你刚才安装服务时自定义的服务名称。

  如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

        名称 Application 值为你要作为服务运行的程序地址。
        名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
        名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。

       

  启动服务正常运行。

       正常情况下停止了srvany.exe的服务的话,srvany.exe和你的服务程序.exe进程应该会停止,到如果调用的是bat程序,bat里调用的程序不会停止。

      我是把一个bat设置成了系统服务,bat里是php xxx.php,当停止了srvany.exe服务,需要在进程管理里结束掉php.exe。

       

       

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 机械振动单位_机械振幅单位

    机械振动单位_机械振幅单位振动一般可以用以下三个单位表示:mm、mm/s、mm/(s^2)。mm振动位移:一般用于低转速机械的振动评定;7丝就是70um,是振动位移值。mm/s振动速度:一般用于中速转动机械的振动评定;一

    2022年8月6日
    6
  • Java学习之EL与JSTL篇

    Java学习之EL与JSTL篇0x00前言继续来更新Java的学习记录。0x01EL表达式EL的全称是ExpressionLanguage是一种表达式语言,该语言主要用于替换jsp页

    2021年12月12日
    43
  • java中的stringbuffer是什么_java string类

    java中的stringbuffer是什么_java string类之前回答过这个两个的区别,直接拷过来,希望对你有所帮助!关于这两个类,文档里面列的很明确了,注意养成经常查文档的好习惯!话不多说开始:区别一:在Java中字符串使用String类进行表示,但是String类表示字符串有一个最大的问题:“字符串常量一旦声明则不可改变,而字符串对象可以改变,但是改变的是其内存地址的指向。”所以String类不适合于频繁修改的字符串操作上,所以在这种情况下,往往可以使用…

    2022年9月21日
    4
  • ai算法测试工程师面试_ai面试题

    ai算法测试工程师面试_ai面试题深度学习

    2022年8月11日
    12
  • linux修改smb端口_sftp默认端口号是多少

    linux修改smb端口_sftp默认端口号是多少本文介绍如何在Linux操作系统中更改默认的SFTP端口,支持Ubuntu、CentOS等发行版,同时还将向您展示如何配置防火墙以允许在新端口上使用。先声明的一点是不要将SFTP与FTPS混淆,因为两种协议具有相同的目的,FTPS代表FTPSecure,它是对标准FTP协议的扩展,支持TLS。简介SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件,它还允许您…

    2022年9月14日
    3
  • 详解Element.scrollIntoView()

    详解Element.scrollIntoView()Element.scrollIntoView()方法让当前的元素滚动到浏览器窗口的可视区域内。语法element.scrollIntoView();//等同于element.scrollIntoView(true)element.scrollIntoView(alignToTop);//Boolean型参数element.scrollIntoView(scrollIntoViewOptions);//Object型参数参数alignToTop可选一个Boolean值

    2022年6月18日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号