In
Windows NT
Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.
The first version of Wi ...
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 execute. Computer programs are one component of software, which also includes documentation and other intangible components.
A computer progra ...
that
operates in the background.
It is similar in concept to a
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser 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
Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy.
The wo ...
.
A Windows service must conform to the interface rules and protocols of the
Service Control Manager Service Control Manager (SCM) is a special system process under the Windows NT family of operating systems, which starts, stops and interacts with Windows service processes. It is located in the %SystemRoot%\System32\services.exe executable. Servi ...
, 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 utilizes a computer or network service.
A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), accoun ...
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, which was released five years before, at the time being the longest time span between successive releases of ...
, services installed as an "interactive service" could interact with Windows
desktop and show a
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
. 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
PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-s ...
Services snap-in
The Services snap-in, built upon
Microsoft Management Console
Microsoft Management Console (MMC) is a component of Microsoft Windows that provides system administrators and advanced users an interface for configuring and monitoring the system. It was first introduced in 1998 with the Option Pack for Wind ...
, 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 logon.
**''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, which was released five years before, at the time being the longest time span between successive releases of ...
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 utilizes a computer or network service.
A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), accoun ...
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
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive command (computing), commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invokin ...
tool to manage Windows services is sc.exe. It is available for all versions of
Windows NT
Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.
The first version of Wi ...
. This utility is included with
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
and later
and also in
ReactOS
ReactOS is a free and open-source operating system for amd64/ i686 personal computers intended to be binary-compatible with computer programs and device drivers made for Windows Server 2003 and later versions of Windows. ReactOS has been noted ...
.
The
sc
command's scope of management is restricted to the local computer. However, starting with
Windows Server 2003
Windows Server 2003 is the sixth version of Windows Server operating system produced by Microsoft. It is part of the Windows NT family of operating systems and was released to manufacturing on March 28, 2003 and generally available on April 24, ...
, 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
Event Viewer is a component of Microsoft's Windows NT operating system that lets administrators and users view the event logs on a local or remote machine. Applications and operating-system components can use this centralized log service to repor ...
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
Task Manager, previously known as Windows Task Manager, is a task manager, system monitor, and startup manager included with Microsoft Windows systems. It provides information about computer performance and running software, including name of ru ...
can show a list of installed services and start or stop them. MSConfig
MSConfig (officially called System Configuration in Windows Vista, Windows 7, Windows 8 or Windows 10, or Windows 11 and Microsoft System Configuration Utility in previous operating systems) is a system utility to troubleshoot the Microsoft Win ...
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 Service Control Manager (SCM) is a special system process under the Windows NT family of operating systems, which starts, stops and interacts with Windows service processes. It is located in the %SystemRoot%\System32\services.exe executable. Servi ...
(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 and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was official ...
provides tools to control the use and registration of services: SrvAny.exe
acts as a service wrapper A service wrapper is a computer program that wraps arbitrary programs thus enabling them to be installed and run as Windows Services or Unix daemons, programs that run in the background, rather than under the direct control of a user. They are ofte ...
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
Svchost.exe (Service Host, or SvcHost) is a system process that can host from one or more Windows services in the Windows NT family of operating systems. Svchost is essential in the implementation of ''shared service processes'', where a number o ...
; Concept
* Background process
** Daemon (computing)
In multitasking computer operating systems, a daemon ( or ) is a computer program that runs as a background process, rather than being under the direct control of an interactive user. Traditionally, the process names of a daemon end with the l ...
** 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 technique ...
** Device driver
In computing, 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, enabling operating systems and o ...
* Operating system service management
** Service Control Manager Service Control Manager (SCM) is a special system process under the Windows NT family of operating systems, which starts, stops and interacts with Windows service processes. It is located in the %SystemRoot%\System32\services.exe executable. Servi ...
** Service Management Facility
* Service wrapper A service wrapper is a computer program that wraps arbitrary programs thus enabling them to be installed and run as Windows Services or Unix daemons, programs that run in the background, rather than under the direct control of a user. They are ofte ...
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)