In
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
operating systems, a Windows service is a
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
that
operates in the background.
It is similar in concept to a
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
daemon.
A Windows service must conform to the interface rules and protocols of the
Service Control Manager, the component responsible for managing Windows services. It is the Services and Controller app, services.exe, that launches all the services and manages their actions, such as start, end, etc.
Windows services can be configured to start when the operating system is started and run in the background as long as Windows is running. Alternatively, they can be started manually or by an event. Windows NT operating systems
include numerous services which run in context of three
user account
A user is a person who uses a computer or network service.
A user often has a user account and is identified to the system by a username (or user name).
Some software products provide services to other systems and have no direct end use ...
s: System, Network Service and Local Service. These Windows components are often associated with
Host Process for Windows Services. Because Windows services operate in the context of their own dedicated user accounts, they can operate when a user is not logged on.
Prior to
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
, services installed as an "interactive service" could interact with Windows
desktop and show a
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
. In Windows Vista, however, interactive services are deprecated and may not operate properly, as a result of
Windows Service hardening.
Administration
Windows administrators can manage services via:
* The Services
snap-in (found under ''Administrative Tools'' in Windows
Control Panel)
* Sc.exe
*
Windows PowerShell
Services snap-in
The Services snap-in, built upon
Microsoft Management Console, can connect to the local computer or a remote computer on the network, enabling users to:
[
]
* view a list of installed services along with service name, descriptions and configuration
* start, stop, pause or restart services
* specify service parameters when applicable
* change the startup type. Acceptable startup types include:
**''Automatic'': The service starts at system startup.
**''Automatic (Delayed)'': The service starts a short while after the system has finished starting up. This option was introduced in
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
in an attempt to reduce the boot-to-desktop time. However, not all services support delayed start.
**''Manual'': The service starts only when explicitly summoned.
**''Disabled'': The service is disabled. It will not run.
* change the
user account
A user is a person who uses a computer or network service.
A user often has a user account and is identified to the system by a username (or user name).
Some software products provide services to other systems and have no direct end use ...
context in which the service operates
* configure recovery actions that should be taken if a service fails
* inspect service dependencies, discovering which services or device drivers depend on a given service or upon which services or device drivers a given service depends
* export the list of services as a text file or as a
CSV file
Command line
The
command-line tool to manage Windows services is sc.exe. It is available for all versions of
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
. This utility is included with
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users a ...
and later
and also in
ReactOS
ReactOS is a Free and open-source software, free and open-source operating system for i586/amd64 personal computers that is intended to be binary-code compatibility, binary-compatible with computer programs and device drivers developed for Wind ...
.
The
sc
command's scope of management is restricted to the local computer. However, starting with
Windows Server 2003
Windows Server 2003, codenamed "Whistler Server", is the sixth major version of the Windows NT operating system produced by Microsoft and the first server version to be released under the Windows Server brand name. It is part of the Windows NT ...
, not only can
sc
do all that the Services snap-in does, but it can also install and uninstall services.
The
sc
command duplicates some features of the
net
command.
The ReactOS version was developed by Ged Murphy and is licensed under the
GPL.
Examples
The following example enumerates the status for active services & drivers.
[MS-DOS and Windows command line sc command](_blank)
/ref>
C:\>sc query
The following example displays the status for the Windows Event log service.
C:\>sc query eventlog
PowerShell
The Microsoft.PowerShell.Management PowerShell module (included with Windows) has several cmdlets which can be used to manage Windows services:
* Get-Service
* New-Service
* Restart-Service
* Resume-Service
* Set-Service
* Start-Service
* Stop-Service
* Suspend-Service
Other management tools
Windows also includes components that can do a subset of what the snap-in, Sc.exe and PowerShell do. The net
command can start, stop, pause or resume a Windows service. In Windows Vista and later, Windows Task Manager can show a list of installed services and start or stop them. MSConfig can enable or disable (see startup type description above) Windows services.
Installation
Windows services are installed and removed via *.INF setup scripts by ''SetupAPI''; an installed service can be started immediately following its installation, and a running service can be stopped before its deinstallation.
Development
Writing native services
For a program to run as a Windows service, the program needs to be written to handle service start, stop, and pause messages from the Service Control Manager (SCM) through th
System Services API
SCM is the Windows component responsible for managing service processes.
Wrapping applications as a service
The Windows Resource Kit for Windows NT 3.51, Windows NT 4.0 and Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft, targeting the server and business markets. It is the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RT ...
provides tools to control the use and registration of services: SrvAny.exe
acts as a service wrapper to handle the interface expected of a service (e.g. handle service_start and respond sometime later with service_started or service_failed) and allow any executable or script to be configured as a service. Sc.exe
allows new services to be installed, started, stopped and uninstalled.
See also
; Windows services
*
* Windows Service Hardening
* svchost.exe
; Concept
* Background process
** Daemon (computing)
In computing, a daemon is a program that runs as a background process, rather than being under the direct control of an interactive user. Customary convention is to name a daemon process with the letter ''d'' as a suffix to indicate that it's ...
** DOS Protected Mode Services
DOS Protected Mode Services (DPMS) is a set of extended DOS memory management services to allow DPMS-enabled DOS drivers to load and execute in extended memory and protected mode.
Not being a DOS extender by itself, DPMS is a minimal set of ...
** Terminate-and-stay-resident program
A terminate-and-stay-resident program (commonly TSR) is a computer program running under DOS that uses a system call to return control to DOS as though it has finished, but remains in computer memory so it can be reactivated later. This techni ...
** Device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
* Operating system service management
** Service Control Manager
** Service Management Facility
* Service wrapper
References
Further reading
*
* David B. Probert
Windows Service Processes
External links
Windows Sysinternals: Autoruns for Windows v13.4
– An extremely detailed query of services
Service Management With Windows Sc From Command Line
– Windows Service Management Tutorial
Windows Service Manager Tray
{{Windows commands
Process (computing)