windows-service.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1673 ed7fa7e54aaa
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
.. -*- coding: utf-8; -*-
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
.. include:: HEADER.rst
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
==================
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Windows service.
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
==================
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1673
diff changeset
     8
   :local:
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
1673
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    10
About Windows services.
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    11
=======================
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    12
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    13
  http://www.coretechnologies.com/WindowsServices/FAQ.html
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    14
    Windows Services Frequently Asked Questions (FAQ).
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    15
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
List services.
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
==============
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
List of all running services::
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  cmd> net start
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
List of all services::
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  cmd> sc query
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
List of specific service::
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  cmd> sc query NAME
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
1671
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    31
GUI tool::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    32
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    33
  cmd> services.msc
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    34
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
Start/stop service.
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
===================
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
::
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  cmd> net start NAME
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  cmd> sc start NAME
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
  cmd> net stop NAME
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
  cmd> sc stop NAME
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
1671
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    45
  cmd> services.msc
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
1671
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    47
Create service.
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    48
===============
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    49
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    50
In order to create service from any executable use ``srvany.exe`` from Windows
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    51
Resource Kits 2003 (take attention to spaces after ``=``)::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    52
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    53
  cmd> sc create NAME binPath= "c:\Program Files\Windows Resource Kits\Tools\srvany.exe" ^
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    54
       type= own start= auto error= normal DisplayName= "NAME for services.msc"
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    55
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    56
Then pass what ``srvany.exe`` wrapper to do::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    57
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    58
  cmd> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NAME\Parameters" ^
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    59
     /v "Application" ^
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    60
     /d "\"c:\Program Files\Java\jre7\bin\java.exe\" -cp c:\home\devel\service Main"
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    61
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    62
Above you see quoting syntax for spaces and quotes. Next start service with::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    63
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    64
  cmd> sc start NAME
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    65
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    66
If you make error recheck your settings with::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    67
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    68
  cmd> reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NAME" /s
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    69
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    70
Or remove service and make steps again::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    71
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    72
  cmd> sc delete NAME
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    73
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    74
Visit GUI ``services.msc`` and check with ``procexp.exe`` that service actually
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    75
do job.
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    76
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    77
  http://www.microsoft.com/en-us/download/confirmation.aspx?id=17657
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    78
    Windows Server 2003 Resource Kit Tools download.
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    79
  http://stackoverflow.com/questions/3663331/creating-a-service-with-sc-exe-how-to-pass-in-context-parameters
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    80
    How to pass parameters to sc.exe runnable.
1673
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    81
  https://support.microsoft.com/KB/137890
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    82
    How To Create a User-Defined Service (with Srvany.exe).
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    83
  http://technet.microsoft.com/en-us/library/cc990289.aspx
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    84
    Sc create help.
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    85
  http://support.microsoft.com/kb/251192
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    86
    How to create a Windows service by using Sc.exe
1671
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    87
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    88
Delete service.
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    89
===============
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    90
::
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    91
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    92
  cmd> sc delete NAME
ee48c908b156 Windows service.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1670
diff changeset
    93
1672
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    94
Service wrapper.
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    95
================
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    96
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    97
  http://en.wikipedia.org/wiki/Service_wrapper
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    98
    Service wrapper
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
    99
  http://nssm.cc/
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   100
    NSSM - the Non-Sucking Service Manager
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   101
  http://sourceforge.net/projects/yajsw/
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   102
    Yet Another Java Service Wrapper
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   103
  https://github.com/kohsuke/winsw/
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   104
    A wrapper executable that can be used to host any executable as an Windows
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   105
    service
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   106
  http://code.google.com/p/simple-service-wrapper/
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   107
    Simple Windows Service Wrapper
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   108