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

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

Si es como la mayoría de los usuarios de Windows, hay una serie de pequeñas utilidades interesantes que se ejecutan al iniciar Windows. Si bien esto funciona muy bien para la mayoría de las aplicaciones, sería bueno iniciar algunas de ellas incluso antes de que el 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 iniciarse y ejecutarse en segundo plano, generalmente sin ningún tipo de interfaz de usuario y sin que el usuario inicie sesión en la PC. Muchos jugadores y usuarios avanzados los conocen como esas cosas que solía apagar para acelerar su sistema, aunque ya no es realmente necesario.

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

Un ejemplo perfecto de esto es Plex, una aplicación de servidor de medios que puede transmitir contenido local a casi cualquier dispositivo que posea. Por supuesto, puede dejarlo en la bandeja del sistema como un programa normal, pero ¿qué pasa 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á disponible. Es irritante si tiene que correr a otra habitación para reiniciar Plex mientras sus palomitas de maíz se están enfriando, y muy irritante si está fuera de la ciudad tratando de transmitir sus medios a Internet. Configurar Plex como servicio resolvería este problema.

Antes de comenzar, hay algunas advertencias importantes que debe conocer acerca de la ejecución de una aplicación como servicio:

  • La aplicación no colocará un icono en la bandeja del sistema. Si necesita la interfaz que está disponible regularmente para una aplicación, es posible que no sea la mejor opción para funcionar como un servicio.
  • Cuando necesite realizar cambios de configuración o actualizaciones, debe detener el servicio, ejecutar el programa como una aplicación estándar, hacer lo que sea necesario, detener el programa y luego reiniciar el servicio.
  • Si el programa ya está configurado para ejecutarse cuando se inicia Windows, deberá deshabilitarlo para que no termine con dos instancias en ejecución. 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, por lo que puede eliminarlos allí.

¿Listo para salir? Hablemos de cómo configurarlo.

Paso uno: instale SrvStart

Para ejecutar una aplicación como servicio, necesitará una pequeña utilidad de terceros. Hay varios, pero nuestro favorito es SrvStart. Fue diseñado originalmente para Windows NT y funcionará con casi cualquier versión de Windows a partir de Windows XP.

Para empezar, vaya a Página de descarga de SrvStart y coge la utilidad. La descarga contiene solo cuatro archivos (dos archivos DLL y dos archivos EXE). No hay instalador; en su lugar, cópielos en su computadora C:Windows colóquelos en su carpeta principal de Windows para «instalar» SrvStart.

También asumiremos que ya ha instalado y configurado el programa que va a convertir en un servicio, pero si no lo ha hecho, ahora podría ser 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 los detalles completos de todas las opciones de configuración en el página de documentación. Para este ejemplo, solo usaremos dos comandos: startup, que especifica el programa a ejecutar, y shutdown_method, que le dice a SrvStart cómo cerrar el programa cuando se detiene el servicio respectivo.

Inicie el Bloc de notas y cree su archivo de configuración con el formato siguiente. Aquí usamos Plex, pero puede crear un archivo para cualquier programa que desee ejecutar como servicio. los startup El comando simplemente especifica la ruta donde reside el archivo ejecutable. Para el shutdown_method orden, usamos el winmessage , que hace que SrvStart envíe un mensaje de apagado de Windows a todas las ventanas abiertas por el servicio.

[Plex]
startup="C:Program Files (x86)PlexPlex Media ServerPlex Media Server.exe"
shutdown_method=winmessage

Obviamente, ajuste la ruta y el nombre de acuerdo con el programa que esté ejecutando.

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

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

El siguiente paso es utilizar el comando de Windows Service Controller (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 <servicename> Displayname= "<servicename>" binpath= "srvstart.exe <servicename> -c <path to srvstart config file>" start= <starttype>

Hay un par de cosas a tener en cuenta en este comando. Primero, cada signo igual (=) va seguido de un espacio. Esto es obligatorio. También <servicename> el valor depende totalmente de usted. Y, finalmente, para el <starttype> valor, querrás usar auto para que el servicio se inicie automáticamente con Windows.

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

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

Sí, lo leíste correctamente: usé C:PlexService.ini en lugar de C:PlexService.ini . El comando requiere que elimines la barra.

Cuando ejecute el comando, debería recibir un mensaje de ÉXITO si todo va bien.

A partir de este momento, su nuevo servicio se ejecutará cuando 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 es todo. Si tiene aplicaciones que comienzan con Windows y prefiere que se inicien sin que un usuario inicie sesión, es bastante fácil convertir cualquier aplicación en un servicio. Acabamos de cubrir la forma básica de crear y ejecutar un nuevo servicio, pero hay mucho más que puede hacer con SrvStart para ajustar cómo funciona un servicio. No olvides consultar la documentación si quieres saber más.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas