Página principal » cómo » Cómo ejecutar cualquier programa como un servicio en segundo plano en Windows

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

    Si es como la mayoría de los usuarios de Windows, tiene muchas utilidades pequeñas que se ejecutan cuando inicia Windows. Si bien esto funciona 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, necesitarás 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 necesidad de que un usuario inicie sesión en la PC. Muchos jugadores y usuarios avanzados los conocen como las cosas que solías deshabilitar para acelerar tu sistema, aunque eso ya no es necesario..

    La principal ventaja de ejecutar una aplicación como servicio es que puede hacer que un programa se inicie antes de que el usuario inicie sesión. Esto puede ser particularmente importante con las aplicaciones que brindan servicios importantes que desea que estén disponibles cuando no está en 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. Claro, podría dejarlo en la bandeja del sistema como un programa normal, pero ¿y si la computadora se reinicia debido a un corte de energía o actualizaciones programadas? Hasta que no vuelva a iniciar sesión en la PC, Plex no estaría disponible. Es irritante si tiene que correr a otra habitación para iniciar la copia de seguridad de Plex mientras sus palomitas de maíz se enfrían, y súper irritante si está fuera de la ciudad e intenta transmitir sus medios a través de Internet. Configurar Plex como un servicio resolvería ese problema.

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

    • La aplicación no pondrá un icono en la bandeja del sistema. Si necesita la interfaz disponible regularmente para una aplicación, es posible que no sea la más adecuada para ejecutarse como un servicio.
    • Cuando necesite realizar cambios o actualizaciones en la configuración, deberá detener el servicio, ejecutar el programa como una aplicación regular, 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 inicie Windows, deberá desactivarlo 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 rodar? Vamos a hablar de cómo configurarlo.

    Paso Uno: Instalar SrvStart

    Para ejecutar una aplicación como un 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 descargas de SrvStart y toma la utilidad. La descarga contiene solo cuatro archivos (dos DLL y dos archivos EXE). No hay instalador; en su lugar, copia esto a tu computadora C: \ Windows Carpeta estos a su carpeta principal de Windows para "instalar" SrvStart.

    También vamos a asumir 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..

    Paso dos: crear 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 mucho que puedes hacer con SrvStart, y puedes leer los detalles completos de todas las opciones de configuración en la página de documentación. Para este ejemplo, solo vamos a usar dos comandos: puesta en marcha, que especifica el programa a lanzar, 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 utilizando el formato a continuación. Aquí, estamos utilizando Plex, pero puede crear un archivo para cualquier programa que desee ejecutar como un servicio. los puesta en marcha el comando simplemente especifica la ruta donde reside el archivo ejecutable. Para el shutdown_method comando, estamos usando el winmessage parámetro, 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 \ Plex Media Server \ 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 por una 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 que guarde este archivo temporalmente en su unidad C:.

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

    El siguiente paso es utilizar el comando Controlador de servicio de Windows (SC) para crear el nuevo servicio según los criterios en 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 (Admin)" y luego haga 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 Displayname = "" binpath = "srvstart.exe -c" start = 

    Hay un par de cosas a tener en cuenta en ese comando. Primero, cada signo igual (=) tiene un espacio detrás de él. Eso es requerido. También el El valor es totalmente de usted. Y, finalmente, por la 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í, has leído bien: yo 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á cada vez que se inicie Windows. Si abre la interfaz de Servicios de Windows (simplemente haga clic en Inicio y escriba "Servicios"), puede encontrar y configurar el nuevo servicio como lo haría con cualquier otro.

    Y eso es todo lo que hay que hacer. Si tiene aplicaciones que comienzan con Windows y prefiere que empiecen sin necesidad de que un usuario inicie sesión, es muy fácil convertir cualquier aplicación en un servicio. Solo hemos tocado 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 revisar la documentación si desea obtener más información.