zoukankan      html  css  js  c++  java
  • Atitit.Java exe bat  作为windows系统服务程序运行

    Atitit.Java exe bat  作为windows系统服务程序运行

     

    1使用SC命令+srvany.exe (不错,推荐)+net start1

    1.1. First 创建一个java的运行bat1

    1.2. 配置srvany serv wrapper1

    1.3. 使用sc 创建/del服务1

    1.4. 启动start/stop服务  Sc \\127.0.0.1 start ServicenameAti22

    21、修改注册表 主要有两种方法…… 还有一个好用的命令:sc delete+服务名3

    3ava Service Wrapper (jsw 3

    4JavaService  4

    54

    6参考4

     

    1. 使用SC命令+srvany.exe (不错,推荐+net start 

     

    1.1. First 创建一个java的运行bat

    1.2. 配置srvany serv wrapper

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ServicenameAti2\Parameters]

    "Application"="\"D:/workspace 空格/AtiPlatf/makefile.bat\""

     

    Srvany 可用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳

    可以接收服务的start stop命令..假如直接地使用bat exe,哪些马实现serv接口,不能rootv serv..

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

    1.3. 使用sc 创建/del服务

    先进入命令行 (开始——〉运行——输入CMD),直接输入SC可以查看关于该命令的帮助。

    如果要删除一个系统服务,可以使用 SC delete [服务名称],比如删除messager服务,输入SC DELETE MESSAGER。 
    SC使用这样的语法: 
    1. SC Servername command Servicename [Optionname= Optionvalue]

    SC [command]

     

    选项:   选项 <server> 的格式为 "\\ServerName"

    注意选项名称包括等号。

          等号和值之间需要一个空格。 

     

    C:\Users\Administrator>Sc \\127.0.0.1 create ServicenameAti  binPath= "D:\work

    ace 空格\AtiPlatf\makefile.bat"  start= auto Displayname= "DisplaynameAti"

    [SC] CreateService 成功

     Sc \\127.0.0.1 delete  ServicenameAti 

     Sc \\127.0.0.1 start ServicenameAti2 

     

     

    Displayname 这个参数是显示在的service管理器黑头的..

     

    1.4. 启动start/stop服务  Sc \\127.0.0.1 start ServicenameAti2

     

    C:\Users\Administrator> Sc \\127.0.0.1 start ServicenameAti2

     

    SERVICE_NAME: ServicenameAti2

            TYPE               : 10  WIN32_OWN_PROCESS

            STATE              : 2  START_PENDING

                                    (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN

            WIN32_EXIT_CODE    : 0  (0x0)

            SERVICE_EXIT_CODE  : 0  (0x0)

            CHECKPOINT         : 0x0

            WAIT_HINT          : 0x7d0

            PID                : 10308

            FLAGS              :

     

    net start ServicenameAti2

    net stop ServicenameAti2

     

     

    But 这个不能stop  whern serv stop...maybe check service start state timer...if stop then exit

     

     

    2. 1、修改注册表 主要有两种方法…… 还有一个好用的命令:sc delete+服务名

    在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。 
    如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下

    “DisplayName”,字符串值,对应服务名称; 
    “Description”,字符串值,对应服务描述; 
    “ImagePath”,字符串值,对应该服务程序所在的路径; 
    “ObjectName”,字符串值,值为“LocalSystem”,表示本地登录; 
    “ErrorControl”,DWORD值,值为“1”; 
    “Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止; 
    “Type”,DWORD值,应用程序对应10,其它对应20。 
    另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务。 
    如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可。

     

    3. ava Service Wrapper (jsw )

    翻开JBOSSTomcat的发布包,发现他们都使用了一个Open source——Java Service Wrapper。用Java Service Wrapper可以轻松解决我们的需求,让我们的服务程序成为 Win32系统服务。

     

    JSW的使用有三种方式:

    1. 

    WrapperSimpleApp class启动应用程序。这是使用JSW最简单的方式,也是推荐的方式。但使用这种方式有个问题,因为JSW是直接使用System.exit()退出 JVM的,这等如使用者在应用程序运行期间直接按ctrl-c退出程序一样。如果应用程序在退出前需要执行clean up的话,需要自行登记shutdown hook,或不要使用这种方式。以这种方式配置JBoss的例子(Win32Linux / UNIX)。

    2. 

    3. 

    第二种方式是使用WrapperStartStopApp class。这种方式是给Tomcat之类的应用程序(即在一个类启动,但以另一个类结束的应用程序)。通常这类的应用程序都会在启动时打开一个 server socket,用来等待要求程序结束的连接,当接收到要求结束的请求,结束类会被执行。而JSW就是在收到停止运行的要求时,直接执行这个结束” 类。以这这种方式配置Tomcat的例子(Win32Linux / UNIX)。

    4. 

    5. 

    第三种方式,也是最复杂,最灵活的一种方式,也是唯一一种需要编程的方式。这种方式要写一个实现WrapperListener接口的类。有些功能 是这种方式独有的,例如直接在程序中接收及回应系统控制事件(如启动及结束)。但这也增加了程序的复杂程度。如果不需要这些功能的话,还是使用第一种方式 比较方便。以这种方式配置的例子

     

    缺点,貌似只能对java程序设置,应该也可以设置bat文件。但可能比较麻烦

    4. JavaService  

     

     

    5.  

    6. 参考

     

    java程序在windows系统作为服务程序运行 快乐就好 博客园.htm

    新建系统服务 在WINDOWS下安装自定义的服务项-3492zhang-ITPUB博客.htm

    atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux - attilax的专栏 博客频道 - CSDN.NET.htm

    paip.注册java程序为LINUX系统服务的总结。 - attilax的专栏 博客频道 - CSDN.NET.htm

  • 相关阅读:
    如何实现网页程序自动登录(java)?
    Java读取股票信息
    (转)如何以32 bit的方式存取SDRAM?
    在DE2上运行uCOSII
    Ubuntu不能上网问题解决之二
    (转)GNU编译器工具链
    (转)Quartus II文件的管理
    (转)avm_m1_writedata[15:0] 與 avm_m1_writedata[31:0]配合avm_m1_byteenable = 4'b0011意義是否一樣?
    (转)如何將編譯結果,統一放在一個目錄下? (QuartusII)
    (转)如何在DE270使用SSRAM?
  • 原文地址:https://www.cnblogs.com/attilax/p/15198719.html
Copyright © 2011-2022 走看看