windows-service.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 03 Jan 2019 22:03:33 +0200
changeset 2332 fc34d7c084ba
parent 2247 91816f9ab872
permissions -rw-r--r--
plpgsql
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
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
 Windows service.
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
==================
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1673
diff changeset
     7
   :local:
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
1673
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
     9
About Windows services.
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    10
=======================
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    11
2228
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    12
http://www.coretechnologies.com/WindowsServices/FAQ.html
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    13
  Windows Services Frequently Asked Questions (FAQ).
1673
ed7fa7e54aaa About Windows services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1672
diff changeset
    14
1670
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
List services.
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
==============
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
List of all running services::
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
c7c98a85c749 Windows services from command line.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
  cmd> net start
2247
91816f9ab872 List of all running services.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2228
diff changeset
    21
  cmd> tasklist /svc
1670
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
2228
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    77
http://www.microsoft.com/en-us/download/confirmation.aspx?id=17657
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    78
  Windows Server 2003 Resource Kit Tools download.
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    79
http://stackoverflow.com/questions/3663331/creating-a-service-with-sc-exe-how-to-pass-in-context-parameters
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    80
  How to pass parameters to sc.exe runnable.
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    81
https://support.microsoft.com/KB/137890
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    82
  How To Create a User-Defined Service (with Srvany.exe).
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    83
http://technet.microsoft.com/en-us/library/cc990289.aspx
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    84
  Sc create help.
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    85
http://support.microsoft.com/kb/251192
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
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
2228
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    97
http://en.wikipedia.org/wiki/Service_wrapper
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    98
  Service wrapper
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    99
http://nssm.cc/
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   100
  NSSM - the Non-Sucking Service Manager
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   101
http://sourceforge.net/projects/yajsw/
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   102
  Yet Another Java Service Wrapper
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   103
https://github.com/kohsuke/winsw/
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   104
  A wrapper executable that can be used to host any executable as an Windows
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   105
  service
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   106
http://code.google.com/p/simple-service-wrapper/
837f1337c59b Removed indentation that compiled into <blockquote>.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   107
  Simple Windows Service Wrapper
1672
7a489de6fb71 Service wrapper.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1671
diff changeset
   108