Imprimir

Introducción a los servicios de Windows XP

Escrito por José Gallardo on 20 Octubre 2005.

1
Alguna vez nos hemos preguntado qué son los servicios de Windows, para qué sirven y qué es lo que hace cada uno de ellos. En este artículo nos introduciremos en su función y veremos cómo manejarlos tanto desde la interfaz gráfica como desde la línea de comandos y también aprenderemos los métodos existentes para añadir nuevos servicios.

¿Qué es un servicio?

Como puede leerse en la Ayuda de Windows: programa, rutina o proceso que realiza una determinada función del sistema para ofrecer compatibilidad con otros programas, especialmente a bajo nivel (cerca del hardware). Basta verlo en Inicio > Ejecutar y escribir

ms-its:%windir%\Help\glossary.chm::/glossary_per.htm#groupS

Podríamos decir que es un programa o aplicación que corre en segundo plano. Estos servicios se cargan al inicio y sin intervención del usuario, y obviamente, ocupan algo de la memoria y de los recursos del PC. Hay servicios nativos de XP, necesarios para que el sistema operativo funcione bien (desde muchos puntos de vista: Windows Update, dispositivos, redes, firewall, …), y otros que los instalan distintas aplicaciones de terceros. Un servicio puede depender de otro u otros con lo que deshabilitar alguno puede hacer que otros no funcionen bien. Por regla general no conviene tocar ni modificar los servicios de XP, y salvo contadas excepciones (como los de Windows Update que hay veces que no funcionan bien) no habría por qué tocarlos.

Una de las ventajas de que una aplicación funcione como un servicio es que por ejemplo, puede cargarse al inicio de Windows y sin que sea necesario ni siquiera iniciar ninguna sesión, esa aplicación puede ganar prioridad en el sistema, etc. Aunque como inconveniente quizá pues que “perdemos” el control de la aplicación cuando inicia como un servicio, e incluso que esto puede ser potencialmente peligroso si realmente no conocemos qué hace la aplicación (esto hablando de aplicaciones que podamos iniciar como servicio, no de los servicios de XP).

services.msc

Desde la GUI de Windows podemos controlar el funcionamiento e informarnos de los distintos servicios de XP, tanto de los del propio sistema operativo como de los de terceros. Además, el método es muy sencillo. Nos vamos a Inicio > Ejecutar y escribimos services.msc. Ahí veremos todos los servicios presentes en nuestra máquina, sea cual sea el estado de cada uno. Si elegimos uno de ellos y hacemos click con el botón derecho sobre él, y elegimos Propiedades, se nos abre una ventana con distintas opciones y pestañas. En la pestaña General, veremos el nombre del servicio, una pequeña descripción y el estado del mismo (iniciado, manual, deshabilitado). También veremos otra pestaña interesante que se llama Dependencias. En ellas podemos estudiar de qué servicios depende nuestro servicio, y por tanto, cómo podría afectar a otros servicios deshabilitarlo.

En la pestaña General ya mencionada podemos cambiar el estado de un servicio e iniciarlo o detenerlo.

La pestaña Iniciar sesión de services.msc

En esta pestaña podemos estavblcer en qué cuenta iniciará el servicio. Esta pestaña es muy importante y su mala configuración puede hacer que el servicio (o el sistema) no funcione adecuadamente. Igualmente puede deshabilitarse el servicio de algunos perfiles. Igualmente hay servicios que tienen que iniciar desde cuentas de sistema, no de usuarios. Por ejemplo, el servicio Cliente DNS tiene que iniciar desde NT AUTHORITY\NetworkService. El servicio Ayuda de NetBIOS sobre TCP/IP debe hacerlo desde NT AUTHORITY\LocalService. Estas cuentas son de sistema (repito, no de usuario) y deben dejarse tal cual configuradas para el correcto funcionamiento del sistema.
Sin embargo, la gran mayoría de los servicios se ejecutan el llamada  Cuenta del sistema local  (LocalSystem account). Esta cuenta está predefinida en el sistema local, y es una de las que tienen los más altos privilegios dentro del sistema local y no tiene contraseña. De ahí que un servicio corriendo en esta cuenta tiene acceso a todo el ordenador estemos en la cuenta que estemos (limitada o administrativa). Aunque no conviene tocar esto, es posible que algunos servicios no requieran tan altos privilegios.

Servicios desde la línea de comandos

Desde la línea de comandos podemos también gestionar los servicios. En este caso, vamos a describir cómo podemos iniciarlos, detenerlos y obtener información sobre el estado de cada uno.

Para iniciar un servicio, nos vamos a Inicio > Ejecutar y escribimos cmd. En la nueva pantalla escribimos net start nombre_del_servicio. Con eso lo iniciaremos. Por ejemplo, net start wuauserv, nos iniciará el servicio Actualizaciones automáticas (cuyo nombre interno de Windows es wuauserv).

Para detener un servicio, ejecutamos la orden net stop nombre_del­_servicio. Así, por ejemplo, net stop wuauserv detendrá el servicio Actualizaciones automáticas.

También podemos obtener en la ventana de comandos información sobre el estado de los servicios. Esto se hace con el comando sc query nombre_del_servicio­. Por ejemplo, si escribimos sc query wuauserv obtendremos algo como esto (si tenemos bien configurado el servicio):

Microsoft Windows XP [Versión 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

X:\Documents and Settings\[cuenta]>sc query wuauserv

 
SERVICE_NAME: wuauserv

 TYPE : 20 WIN32_SHARE_PROCESS

 STATE : 4 RUNNING

 (STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)

 WIN32_EXIT_CODE : 0 (0x0)

 SERVICE_EXIT_CODE : 0 (0x0)

 CHECKPOINT : 0x0

 WAIT_HINT : 0x0

 
Como vemos el servicio está Iniciado (“running”). Si estuviese detenido obtendríamos algo como "stopped”.

 

¿Cómo iniciar una aplicación como un servicio?

Basta seguir este artículo de la KB, y usar el comando sc create.

 
http://support.microsoft.com/?kbid=251192

 Veámoslo con detalle (el artículo de la KB traduce todo, hasta los parámetros de los comandos que no deberían traducirse). El comando sc create tiene la siguiente sintaxis:

 sc create [nombre_del_servicio] [ruta_del_ejecutable= ] <opciones>

 donde nombre_del_servicio es el nombre que queramos para nuestro servicio, y ruta_del_ejecutable es la ruta de la aplicación que queremos arranque como un servicio. Las opciones son las que aparecen en el artículo de la KB. Por ejemplo, para crear un servicio llamado “mi serv” y que ejecute a aplicación “mi app.exe” que está en la carpeta C:\mi carpeta, teclearíamos lo siguiente:

 
sc create “mi serv” binpath= c:\mi carpeta\mi app.exe”

 (recuérdese que las comillas en la ruta se colocan porque dicha ruta contiene espacios).

 Una vez creado, nos vamos a Inicio > Ejecutar y tecleamos services.msc. Localizamos “mi serv”, click derecho sobre él, elegimos Propiedades y podremos configurarlo.


Los servicios en el registro de Windows
Suele ser causa de mal funcionamiento de algunos servicios alguna corrupción en sus correspondientes claves del registro de Windows. En cada artículo correspondiente a cada registro se ha especificado cuál es la clave en la que está ubicado el registro, qué debe ser lo que tenga asignado el valor ImagePath y qué tiene que tener asignado el valor ServiceDll para aquellos servicios que lo tengan (es decir, servicios que tengan una dll asociada).
También es importante mirar algunos valores más en cada registro y que no se especifican en cada uno por ser el mismo para los servicios. Concretamente, si pinchamos sobre la clave del registro correspondiente a un servicio (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[nombre_servicio]) veremos que en el panel de la derecha nos salen, entre otros valores, el valor Start. Tiene que ser de tipo REG_DWORD y significa lo siguiente:

  • Start: indica el tipo de inicio del servicio: 2, para el inicio automático; 3, para el inicio manual; y 4 para que el servicio esté deshabilitado.

Comentarios   

 
0 #15 yamila 30-05-2011 19:52
pero no te dicen para q sirven los servicios
Citar
 
 
0 #14 anonimo 30-05-2011 19:51
pero no te dicen para que sirven los servicios :-|
Citar
 
 
0 #13 Guest 26-12-2009 19:57
Yo tenia el mismo problema con la inalambrica, me detenia el servicio WZCSVC. Me fui a las propiedades del servicio y en la pestaña Recuperacion, puse la opcion que al primer, segundo y tercer error me reinicie el servicio. Se que eso es limpiar las telarañas pero no matar a la araña pero fue lo que me funciono.
Saludos
Citar
 
 
0 #12 sara 21-08-2009 11:23
Hola a todos.

Primero una felicitación por el artículo, me pareció muy interesqante.

Aquí va una duda de novata total. En un servidor que corre bajo Windows Server 2003 Std. Edition tengo corriendo un servicio que programaron unos compañeros de trabajo, el cual está fallando últimamente. Necesito descartar que el problema venga porque el propio servidor está teniendo problemas.

¿Qué herramienta puedo utilizar para diagnosticar el correcto funcionamiento del servidor?

He probado como una docena de programas para diagnóstico pero sólo devuelven informes sobre hardware y no tienen nada que ver con lo que quiero (Everest, SIW, Daphne, Belarc Advisor, Fresh Diagnose, etc)

Espero que alguno me quiera iluminar un poquito.
Citar
 
 
0 #11 Guest 10-11-2008 20:55
Hola a Todos...
En primer lugar felicitarlos por el foro, y por encontrar personas con tan amplios conocimentos...
Podria alguien colaborarme, es que tengo una impresora en red y cada vez que alguien envia una impresion hay que reiniciar el servicio de cola de impresion manualmente, intente tomar el control desde otro equipo por medio de este comando:
net print (servidor)(Impr esora)/restart. .. Pero no funciona igual hay que ir al pc donde esta conectada la impresora y hacerlo manualmente... Como podria solucionar este problema..?
Gracias de antemano....
Citar
 
 
0 #10 Guest 09-11-2007 11:19
HOla, si es muy util esta informacion, yo ayer metiendome donde no debia y creyendo tener un troyano deshabilite la opcion de LLAMADA a procedimiento REMPOTO RPC (pena no encontre esta pagina antes) y ahora NO ME ANDA CASI NADA y no encuentro la forma de habilitarlo, ya toque todo el regit, ya baje ese programita para Windows Xp profesional, sin embargo el proceso no arranca, debe estar relacionado con algo mas que no anda. PRECISO AYUDA POR FVOR ya que no me anda el NERO tampoco y no puedo grabar un cd con datos antes de tener que formatear
Agradecere cualquier ayuda al mail mencionado arriba medio en clave para evitar spam
Citar
 
 
0 #9 Guest 06-11-2007 13:32
Me sorprende gratamente encontrar a alguien que sepa tanto del tema y se explique tan bien.
Citar
 
 
0 #8 Guest 23-05-2007 10:54
Buenos dias
Intento meter un proceso en un equipo remoto para que se inicie automaticamente.
He logrado meter el servicio en el equipo remoto pero no logro que se inicie, ni haciendolo manualmente.
El proceso es un programa ejecutable.
la secuencia de comando que utilizo es la siguiente: "sc [\\equipo_remot o] create [n_proceso] c:\*.exe start= auto
Citar
 
 
0 #7 Guest 01-05-2007 08:50
la conectividad limitada o nula, suele ser porque el servidor DHCP
(de aquí en adelante, digamos, tu router), o no responde, o se ha desconfigurado/deshabilitado.

Tienes 2 opciones.

1. Activar y verificar el DHCP en tu router.
2. Asignacion manual de IP en el dispositivo que usas.

Para Asignacion Manual, te sugiero lo siguiente
(te doy el más básico que es el que usan la mayoría).

Inicio -> Configuracion -> Panel de Control ->
Conexiones de Red -> Conexion de Area Local
(usa esa si es la que usas para conectar) ->
Boton Derecho -> Propiedades -> Seleccionas Protocolo Internet (TCP/IP) ->
Propiedades -> Usar la Siguiente Direccion IP -> Direccion IP: 192.168.1.33 ->
Máscara de Subred: 255.255.255.0 (te la pone sola) -> Puerta de Enlace ->
192.168.1.1 -> Usar las siguientes direcciones de servidor DNS ->
Preferido: 194.179.1.100 -> Alternativo -> 194.179.1.101

Aceptas y Guardas y nos cuentas.

Un saludo.
Citar
 
 
0 #6 Guest 26-01-2007 16:23
a mi me pasa tambien Fhola el problema k tengo es que compre un portatil asus con wifi da la casualidad de que el wifi no es capaz de conectar a una red abierta de un amigo ni a otra mia que tengo. llamo a telefonica para pedir ayuda el por que no podemos conectar y me dice los pasos a seguir ..... pongo services.msc y me dice que busque comfiguracion inalambrica rapida , bueno pues no lo encontraba por ningun lado me dice que sin eso no puedo comfigurar, pues nada con lo que cojo el portatil y me voy a media mark y le digo lo que pà sa bueno me hace una prueba con un rouer que tiene conectado pero sin adsl y me dice k conecta yo le digo que a mi tambien me conecta pero k me pone conesion limitada o nula, le digo k tambien probe con una llave wuifi usb y que tampoco, el tio no me da soluciones ahora digo yo de que puede ser el problema del sofware xpmediacenter o que narices.¿os pasa a vosotros igual? esa es mi duda. probar el que alla comprado un portatil con wifi asus o acer ok ya me comentais
Citar
 

Escribir un comentario


Código de seguridad
Refescar

jTweet

Autentíficate

Gente Online

Hay 114 invitados y ningún miembro en línea