zoukankan      html  css  js  c++  java
  • 用Windows服务运行任意程序

    昨天把mantis缺陷跟踪系统在办公室里搭了一套,批处理启动nginx+php+mysql。

    后来发现服务器必须登录才行,一注销就把nginx给关闭了,看来只能添加到系统服务里了。

    一开始用[sc create nginx binPath= c:/opt/start.bat],服务是添加进去了,但总是无法启动,后来分析一下,应该是服务程序要用SCxxxx等API函数与windows交互,所以启动失败(也有可能已经运行了,在任务管理器看不到,没给windows返回成功状态所以显示失败)。 后来在网上找到一个srvany.exe的程序,应该就是一个空壳服务程序,把服务添加成它: sc create nginx binPath= c:/opt/srvany.exe 然后在注册表里添加以下内容

    ====================================================

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/nginx/Parameters]

    "Application"="c://opt//start.bat"

    "AppParameters"=""

    "AppDirectory"="c://opt//"

    ====================================================

    这样启动服务时srvany会去指定路径调用程序,也能和windows正常交互服务的状态了。

    不过后来发现一个问题,在控制台的服务管理中,停止该服务的话只能停止srvany.exe,不会停止它启动的程序,以后有空自己做一个srvany程序吧。

  • 相关阅读:
    【设计模式】备忘录
    统计ip的发送频率和该ip发送的有效消息(去除相似消息)的数目
    Android之消息推送聊天实现
    Dictionary通过下标获取key和value
    SGU 271 水题。。。。
    二叉树递归和非递归遍历
    C#与SSL
    正则表达式总结
    SQL Server User Accounts
    嵌入式领域中各种文件系统的比较
  • 原文地址:https://www.cnblogs.com/chaos77/p/4066235.html
Copyright © 2011-2022 走看看