En los sistemas operativos Windows NT , un servicio de Windows es un programa informático que funciona en segundo plano . [1] Es similar en concepto a un demonio de Unix . [1] Un servicio de Windows debe cumplir con las reglas de interfaz y los protocolos del Administrador de control de servicios , el componente responsable de administrar los servicios de Windows. Es la aplicación Servicios y controlador, services.exe, la que lanza todos los servicios y administra sus acciones, como inicio, fin, etc. [2]
Los servicios de Windows se pueden configurar para que se inicien cuando se inicia el sistema operativo y se ejecuten en segundo plano mientras Windows esté en ejecución. Alternativamente, se pueden iniciar manualmente o mediante un evento. Los sistemas operativos Windows NT incluyen numerosos servicios que se ejecutan en el contexto de tres cuentas de usuario : Sistema, Servicio de red y Servicio local. Estos componentes de Windows suelen estar asociados con el Proceso host para servicios de Windows . Debido a que los servicios de Windows funcionan en el contexto de sus propias cuentas de usuario dedicadas, pueden funcionar cuando un usuario no ha iniciado sesión.
Antes de Windows Vista , los servicios instalados como "servicios interactivos" podían interactuar con el escritorio de Windows y mostrar una interfaz gráfica de usuario . Sin embargo, en Windows Vista, los servicios interactivos están obsoletos y es posible que no funcionen correctamente como resultado del endurecimiento de los servicios de Windows . [3] [4]
Administración
Los administradores de Windows pueden administrar servicios a través de:
- El complemento Servicios (que se encuentra en Herramientas administrativas en el Panel de control de Windows )
- Sc.exe
- Windows PowerShell
Complemento de servicios
El complemento Servicios, creado sobre Microsoft Management Console , puede conectarse a la computadora local o a una computadora remota en la red, lo que permite a los usuarios: [1]
- Ver una lista de servicios instalados junto con el nombre del servicio, las descripciones y la configuración
- iniciar, detener, pausar o reiniciar servicios [5]
- Especifique los parámetros del servicio cuando corresponda
- Cambiar el tipo de inicio. Los tipos de inicio aceptables incluyen:
- Automático : el servicio se inicia al iniciar el sistema.
- Automático (retardado) : el servicio se inicia poco después de que el sistema haya terminado de iniciarse. Esta opción se introdujo en Windows Vista en un intento de reducir el tiempo que transcurre desde el arranque hasta el escritorio. Sin embargo, no todos los servicios admiten el inicio retrasado. [6]
- Manual : El servicio se inicia solo cuando se lo invoca explícitamente.
- Deshabilitado : el servicio está deshabilitado. No se ejecutará.
- cambiar el contexto de la cuenta de usuario en la que opera el servicio
- Configurar acciones de recuperación que se deben realizar si falla un servicio
- Inspeccionar las dependencias de servicios, descubriendo qué servicios o controladores de dispositivos dependen de un servicio determinado o de qué servicios o controladores de dispositivos depende un servicio determinado
- exportar la lista de servicios como un archivo de texto o como un archivo CSV
Línea de comandos
La herramienta de línea de comandos para administrar los servicios de Windows es sc.exe. Está disponible para todas las versiones de Windows NT . [7] Esta utilidad está incluida en Windows XP [8] y posteriores [9] y también en ReactOS .
El scalcance de gestión del comando está restringido al equipo local. Sin embargo, a partir de Windows Server 2003 , no sólo puede schacer todo lo que hace el complemento Servicios, sino que también puede instalar y desinstalar servicios. [9]
El sccomando duplica algunas características del netcomando. [10]
La versión de ReactOS fue desarrollada por Ged Murphy y tiene licencia GPL . [11]
Ejemplos
El siguiente ejemplo enumera el estado de los servicios y controladores activos. [12]
C:\> consulta sc
El siguiente ejemplo muestra el estado del servicio de registro de eventos de Windows . [12]
C:\> sc consulta registro de eventos
Potencia Shell
El módulo de PowerShell Microsoft.PowerShell.Management (incluido con Windows) tiene varios cmdlets que se pueden usar para administrar servicios de Windows:
- Obtener servicio [13]
- Nuevo servicio [14]
- Reinicio del servicio [15]
- Servicio de currículum vitae [16]
- Servicio de configuración [17]
- Servicio de arranque [18]
- Parada de servicio [19]
- Suspensión del servicio [20]
Otras herramientas de gestión
Windows también incluye componentes que pueden realizar un subconjunto de lo que hacen el complemento Sc.exe y PowerShell. El netcomando puede iniciar, detener, pausar o reanudar un servicio de Windows. [21] En Windows Vista y versiones posteriores, el Administrador de tareas de Windows puede mostrar una lista de servicios instalados e iniciarlos o detenerlos. MSConfig puede habilitar o deshabilitar (consulte la descripción del tipo de inicio anterior) los servicios de Windows.
Instalación
Los servicios de Windows se instalan y eliminan a través de scripts de configuración *.INF de SetupAPI ; un servicio instalado se puede iniciar inmediatamente después de su instalación y un servicio en ejecución se puede detener antes de su desinstalación. [22] [23] [24]
Desarrollo
Escritura de servicios nativos
Para que un programa se ejecute como un servicio de Windows, debe estar escrito para manejar mensajes de inicio, detención y pausa del servicio desde el Administrador de control de servicios (SCM) a través de la API de servicios del sistema. SCM es el componente de Windows responsable de administrar los procesos de servicio.
Envolver aplicaciones como un servicio
El Kit de recursos de Windows para Windows NT 3.51 , Windows NT 4.0 y Windows 2000 proporciona herramientas para controlar el uso y registro de servicios: SrvAny.exeactúa como un contenedor de servicios para manejar la interfaz esperada de un servicio (por ejemplo, manejar service_start y responder algún tiempo después con service_started o service_failed) y permite que cualquier ejecutable o script se configure como un servicio. Sc.exepermite instalar, iniciar, detener y desinstalar nuevos servicios. [25]
Véase también
- Servicios de Windows
- Lista de componentes de Microsoft Windows § Servicios
- Fortalecimiento de servicios de Windows
- svchost.exe
- Concepto
Referencias
- ^ abc «Descripción general de los servicios». TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Servicios". Microsoft Developer Network . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Nuevos Elevation PowerToys para Windows Vista". Revista TechNet . Microsoft . Junio de 2008. Consultado el 21 de junio de 2013.
El servicio CmdAsSystem está configurado como interactivo y su compatibilidad está en desuso. Es posible que el servicio no funcione correctamente. El problema es que este script intenta crear e iniciar un servicio interactivo. Los servicios interactivos no funcionarán correctamente debido al aislamiento de la sesión 0 en Windows Vista.
- ^ "Servicios en Windows". MSDN . Microsoft . 18 de octubre de 2010 . Consultado el 21 de junio de 2013 .
- ^ "Iniciar, detener, pausar, reanudar o reiniciar un servicio". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Propiedad ServiceInstaller.DelayedAutoStart (System.ServiceProcess)". Microsoft . Consultado el 28 de noviembre de 2017. Consulte la sección Observaciones.
{{cite web}}: CS1 maint: postscript (link) - ^ "Cómo crear un servicio de Windows mediante Sc.exe". Soporte . Microsoft. 11 de septiembre de 2011 . Consultado el 29 de marzo de 2013 .
- ^ "Referencia de línea de comandos AZ: SC". TechNet . Microsoft . Consultado el 8 de enero de 2014 .
- ^ ab "Referencia de línea de comandos: Sc". TechNet . Microsoft . Consultado el 8 de enero de 2014 .
Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 con SP1, Windows Server 2003 con SP2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Vista
- ^ SC - Control de servicios - CMD de Windows - SS64.com
- ^ reactos/sc.c en master · reactos/reactos · GitHub
- ^ ab Línea de comandos de MS-DOS y Windows Comando sc
- ^ "Get-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "New-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Reiniciar servicio". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Resume-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Set-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Start-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Detener servicio". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Suspend-Service". TechNet . Microsoft . Consultado el 29 de marzo de 2013 .
- ^ "Iniciar, detener, pausar, reanudar o reiniciar un servicio". TechNet . Microsoft . Consultado el 8 de enero de 2014 .
- ^ "Directiva INF AddService". Microsoft . Consultado el 10 de julio de 2017 .
- ^ "Función SetupInstallServicesFromInfSection". MSDN . Microsoft . Consultado el 10 de julio de 2017 .
- ^ "Función SetupInstallServicesFromInfSectionEx". MSDN . Microsoft . Consultado el 10 de julio de 2017 .
- ^ "Cómo crear un servicio definido por el usuario". Soporte . Microsoft . Consultado el 29 de marzo de 2013 .
Lectura adicional
- Savill, John (5 de marzo de 1999). "¿Cuáles son los valores ErrorControl, Start y Type en las subclaves Services?". Windows IT Pro . Penton Media . Consultado el 29 de marzo de 2013 .
- David B. Probert, Procesos de servicio de Windows
Enlaces externos
- Windows Sysinternals: Autoruns para Windows v13.4: una consulta de servicios extremadamente detallada
- Gestión de servicios con Windows SC desde la línea de comandos: tutorial de gestión de servicios de Windows
- Bandeja del Administrador de servicios de Windows