Windows

Cómo ejecutar cualquier programa como un servicio en segundo plano en Windows

La mayoría de los usuarios suelen tener un montón de herramientas y utilidades que se ejecutan al iniciar Windows. Probablemente muchas de estas aplicaciones, no son necesarias ejecutarlas al inicio y solo la minoría nos puede servir desde el principio. Una de las soluciones sería ejecutar las aplicaciones como servicios de Windows.

Los servicios de Windows son una clase de programas que están configurados para iniciar y ejecutarse en segundo plano, por lo general sin ningún tipo de interfaz de usuario y sin necesidad de que un usuario inicie sesión en el ordenador.

La ventaja de ejecutar una aplicación como un servicio es que se pueden ejecutar antes de que un usuario inicie sesión.

Antes de comenzar, deberías considerar lo siguiente:

La aplicación no va a poner un icono en la bandeja del sistema.

Cuando tengas que realizar cambios de configuración o actualización, tendrás que detener el servicio y ejecutar el programa como una aplicación normal.

Si tu programa está configurado para iniciar en Windows, tendrás que desactivarlo. La mayoría de los programas tienen una opción en la interfaz para alternar esta configuración.

Primer paso: Instalar SrvStart en Windows

Para ejecutar una aplicación como un servicio, vas a necesitar de una pequeña utilidad. Existen varios, pero recomendamos SrvStart. Fue diseñado originalmente para Windows NT, y funciona con casi cualquier versión de Windows desde XP en adelante.

Para empezar, ve a la página de descarga SrvStart y selecciona la utilidad. La descarga contiene sólo cuatro archivos DLL (de los cuales dos archivos son EXE). No hay instalador, por lo que deberás copiarlos en la unidad C de tu ordenador.

Windows

Paso Dos: Crear un archivo de configuración para el nuevo servicio

En este paso tendrás que crear un archivo de configuración que SrvStart leerá para crear el servicio. Para este ejemplo, sólo vamos a utilizar dos comandos: startup, que especifica el programa que se ejecutará, y shutdown_method, que le dice a SrvStart cómo cerrar el programa cuando se detiene el servicio respectivo.

Primero tienes que abrir el Bloc de notas y crear el archivo de configuración. En este caso, estamos utilizando Plex, pero se puede crear un archivo para cualquier programa que deseas ejecutar como un servicio.

El comando de inicio simplemente especifica la ruta donde se encuentra el archivo ejecutable. Para el comando shutdown_method, estamos usando el parámetro winmessage, lo que provoca que SrvStart envíe un mensaje de cierre de Windows para todas las ventanas abiertas por el servicio.

[Plex] startup=»C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe» shutdown_method=winmessage

Debes ajustar la ruta y el nombre de acuerdo con el programa que se está lanzando.

Windows

Ahora guarda el nuevo archivo de configuración en donde quieras, y cambia la extensión .txt por una extensión .ini. Toma nota del nombre de archivo, ya que lo necesitarás para el siguiente paso.

Tercer paso: Utiliza el símbolo del sistema para crear el nuevo servicio

El siguiente paso es utilizar el comando Controlador de servicios de Windows (SC) para crear el nuevo servicio basado en los criterios establecidos en el archivo de configuración. Abre el Símbolo del sistema, haz clic en el menú Inicio (o presiona Windows + X), selecciona «Símbolo del sistema (Como Administrador)«, y luego haz clic en Sí para que se ejecute con privilegios de administrador.

Windows

En el símbolo del sistema, utiliza la siguiente sintaxis para crear el nuevo servicio:

SC CREATE <servicename> Displayname= «<servicename>» binpath= «srvstart.exe <servicename> -c <path to srvstart config file>» start= <starttype>

En primer lugar, cada signo igual (=) significa un espacio. Lo que se requiere. Además, el <servicename> depende del nombre que elijas. Y, por último, para el valor <StartType>, se deja tal cual, para que el servicio se inicie automáticamente con Windows.

Así que en nuestro ejemplo de la aplicación Plex, el comando sería el siguiente:

SC CREATE Plex Displayname= «Plex» binpath= «srvstart.exe Plex -c C:PlexService.ini» start= auto

Si has observado bien, utilice C: PlexService.ini en lugar de C: \ PlexService.ini.

Cuando se ejecute el comando, debes recibir un mensaje satisfactorio.

Windows

De ahora en adelante, tu nuevo servicio se ejecutará cada vez que se inicie Windows. Si abres la interfaz de servicios de Windows (haz clic en Inicio y escribe «Servicios»), puedes encontrar y configurar el nuevo servicio al igual que con cualquier otro.

Windows

Y eso es todo lo que hay que hacer. Si tiene aplicaciones que se inician con Windows y prefiere que empezar sin necesidad de un usuario para iniciar sesión, es bastante fácil de convertir cualquier aplicación en un servicio.


7 comentarios en “Cómo ejecutar cualquier programa como un servicio en segundo plano en Windows”

  1. De donde puedo descarga ese aplicativo? Porque cuando voy a la pagina de microsoft. Me aparace para descargar la version para windows server 2003. Y cuando lo quiero instalar en windows 7 no pasa nada cuando ejecuto esos comandos… Me podrias pasar el link para desscargarlo, porque me ha costado encontrarlo en la web. Gracias por el post.

    Responder
  2. Buenos días Carlos, mi nombre es Luis Muro de Venezuela, oye estoy leyendo el post y realizo todo lo que esta escrito y se crea el servicio y todo, pero no logro hacer que no salga la pantalla de inicio de sesión…desabilite el inicio automatico de la aplicación, pero igual sale,,,como hago para que se inicie y cargue sin que lo vea el usuario? Agradecido.

    Responder
  3. Hola, tengo como hobby minar satoshis y abro el navegador de internet y entro a la pagina donde ya esta guardado mi usuario y mi password y asi inicio con el minado de satoshis, no llevo mucho, solo 25000 satoshis, pero mi hijo, dice que es una soberana tonteria y me cierra la pagina, con este metodo podria hacerlo invisible???por favor ayuda

    Responder

¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.

Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.

¡Gracias por enriquecer nuestra comunidad con tu participación!

Deja un comentario