23Aug

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

click fraud protection

Si es como la mayoría de los usuarios de Windows, tiene muchas pequeñas utilidades que se ejecutan cuando inicia Windows. Si bien esto funciona muy bien para la mayoría de las aplicaciones, hay algunas que sería bueno comenzar incluso antes de que un usuario inicie sesión en la PC.Para hacer esto, deberá ejecutar la aplicación como un servicio de Windows.

Los servicios de Windows son una clase especial de programas que están configurados para ejecutarse y ejecutarse en segundo plano, generalmente sin ningún tipo de interfaz de usuario y sin la necesidad de un usuario para iniciar sesión en la PC.Muchos jugadores y usuarios avanzados los conocen como aquellas cosas que solías desactivar para ayudar a acelerar tu sistema, aunque eso ya no es necesario.

La principal ventaja de ejecutar una aplicación como servicio es que puede iniciar un programa antes de que el usuario inicie sesión. Esto puede ser particularmente importante con las aplicaciones que proporcionan servicios importantes que desea que estén disponibles cuando se encuentra lejos de su computadora..

instagram viewer
ARTÍCULOS RELACIONADOS
Descripción y administración de los servicios de Windows
¿Debería desactivar los servicios de Windows para acelerar su PC?

Un ejemplo perfecto de esto es Plex, una aplicación de servidor multimedia que puede transmitir contenido local a casi cualquier dispositivo que posea. Claro, podría dejarlo en la bandeja del sistema como un programa normal, pero ¿qué sucede si la computadora se reinicia debido a un corte de energía o actualizaciones programadas? Hasta que vuelva a iniciar sesión en la PC, Plex no estaría disponible. Eso es irritante si tienes que correr a otra sala para iniciar la copia de seguridad de Plex mientras tus palomitas de maíz se enfrían, y muy irritante si estás fuera de la ciudad e intentas transmitir tus archivos a través de Internet. Configurar Plex as a Service resolvería ese problema.

Antes de comenzar, debe tener en cuenta algunas advertencias importantes para ejecutar una aplicación como servicio:

  • La aplicación no colocará un ícono en la bandeja del sistema. Si necesita la interfaz disponible regularmente para una aplicación, puede que no sea la más adecuada para funcionar como un servicio.
  • Cuando necesite realizar cambios o actualizaciones de configuración, deberá detener el servicio, ejecutar el programa como una aplicación normal, hacer lo que debe hacer, detener el programa y luego volver a iniciar el servicio.
  • Si el programa ya está configurado para ejecutarse cuando se inicia Windows, deberá deshabilitarlo para que no se ejecuten dos instancias. La mayoría de los programas tienen una opción en la interfaz para alternar esta configuración. Otros pueden agregarse a su carpeta de Inicio para que pueda eliminarlos allí.

¿Listo para rodar? Vamos a hablar sobre cómo configurarlo.

Paso uno: Instale SrvStart

Para ejecutar una aplicación como servicio, necesitará una pequeña utilidad de terceros. Hay varios por ahí, pero nuestro favorito es SrvStart. Originalmente fue diseñado para Windows NT, y funcionará con casi cualquier versión de Windows desde Windows XP en adelante.

Para comenzar, dirígete a la página de descarga de SrvStart y toma la utilidad. La descarga contiene solo cuatro archivos( dos DLL y dos archivos EXE).No hay instalador;en su lugar, cópielas a la carpeta C: \ Windows de su computadora, a su carpeta principal de Windows para "instalar" SrvStart.

También vamos a suponer que ya ha instalado y configurado el programa que va a convertir en un servicio, pero si no lo ha hecho, ahora sería un buen momento para hacerlo también.

Paso dos: cree un archivo de configuración para el nuevo servicio

A continuación, querrá crear un archivo de configuración que SrvStart leerá para crear el servicio. Hay muchas cosas que puede hacer con SrvStart, y puede leer todos los detalles sobre todas las opciones de configuración en la página de documentación. Para este ejemplo, solo vamos a usar dos comandos: startup, que especifica el programa para iniciar, y shutdown_method, que le dice a SrvStart cómo cerrar el programa cuando se detiene el servicio correspondiente.

Encienda el Bloc de notas y cree su archivo de configuración usando el siguiente formato. Aquí, estamos usando Plex, pero puede crear un archivo para cualquier programa que desee ejecutar como un servicio. El comando de inicio simplemente especifica la ruta donde reside el archivo ejecutable. Para el comando shutdown_method, estamos usando el parámetro winmessage, que hace que SrvStart envíe un mensaje de cierre de Windows a cualquier ventana abierta por el servicio.

[Plex] startup = "C: \ Archivos de programa( x86) \ Plex \ Servidor de medios Plex \ Plex Media Server.exe" shutdown_method = winmessage

Obviamente, ajuste la ruta y el nombre de acuerdo con el programa que está iniciando.

Guarde el nuevo archivo de configuración donde desee y reemplace la extensión. txt con la extensión. ini. Tome nota del nombre del archivo, ya que lo necesitaremos en el siguiente paso. Para facilitar la escritura en el símbolo del sistema, le sugerimos guardar este archivo temporalmente en su unidad C: .

Paso tres: utilice el símbolo del sistema para crear el nuevo servicio

El siguiente paso es usar el comando del controlador de servicio de Windows( SC) para crear el nuevo servicio según los criterios de su archivo de configuración. Abra el símbolo del sistema haciendo clic con el botón derecho en el menú Inicio( o presionando Windows + X), seleccionando "Símbolo del sistema( administrador)" y luego haciendo clic en Sí para permitir que se ejecute con privilegios administrativos.

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

SC CREATE & lt; servicename & gt;Displayname = "& lt; servicename & gt;"binpath = "srvstart.exe & lt; servicename & gt; -c & lt; ruta a srvstart config file & gt;"start = & lt; starttype & gt;

Hay un par de cosas que notar en ese comando. Primero, cada signo igual( =) tiene un espacio después de él. Eso es requerido. Además, el & lt; nombre de servicio & gt;el valor depende completamente de ti. Y, finalmente, para el & lt; starttype & gt;valor, querrá usar auto para que el servicio se inicie automáticamente con Windows.

Entonces, en nuestro ejemplo de Plex, el comando sería así:

SC CREAR Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto

Sí, lo leyó bien: Iutilizó C: PlexService.ini en lugar de C: \ PlexService.ini. El comando requiere que elimines la barra.

Cuando ejecuta el comando, debe recibir un mensaje de ÉXITO si todo va bien.

A partir de ahora, su nuevo servicio se ejecutará cada vez que se inicie Windows. Si abre la interfaz de Servicios de Windows( simplemente haga clic en Inicio y escriba "Servicios"), puede buscar y configurar el nuevo servicio como lo haría con cualquier otro.

Y eso es todo. Si tiene aplicaciones que comienzan con Windows y prefiere que comiencen sin necesidad de que un usuario inicie sesión, es bastante fácil convertir cualquier aplicación en un servicio. Acabamos de mencionar el método básico para crear y ejecutar un nuevo servicio, pero hay mucho más que puede hacer con SrvStart para ajustar cómo se ejecuta un servicio. Asegúrese de consultar la documentación si desea obtener más información.