• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Encuestas: Tamaño de Muestra
    • Lotería: Probabilidad de Ganar
    • Reparto de Escaños (D’Hondt)
    • Tres en Raya con IA
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Cómo configurar un servicio en Windows

mayo 11, 2022 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 7 minutos

Ventana principal de NSSM

Los servicios de Windows son programas que funcionan en segundo plano sin la necesidad de que un usuario los ejecute. Un concepto similar a los Daemon de los sistemas UNIX. Siendo posible configurarlos para que se inicien al arrancar el sistema, cuando se produce un evento o dejarlos configurados para que sea un usuario quien los ponga en marcha. Los servicios, al igual que los Daemom en UNIX, son una parte clave del sistema operativo Windows existiendo decenas de estos ya que permiten realizar tareas automáticamente sin que un usuario tenga que estar conectado. Configurar un servicio en Windows suele ser algo complicado con las herramientas que vienen por defecto, pero para solucionar este problema se puede recurrir a NSSM (the Non-Sucking Service Manager).

Tabla de contenidos

  • 1 Instalación de NSSM
  • 2 Configurar un servicio en Windows mediante la GUI
    • 2.1 Application (Aplicación)
    • 2.2 Details (Detalles)
    • 2.3 Log on (Inicio de sesión)
    • 2.4 Dependencies (Dependencias)
    • 2.5 Process (Procesos)
    • 2.6 Shutdown (Apagado)
    • 2.7 Exit actions (Acciones de salida)
    • 2.8 I/O (Entrada/Salida, E/S)
    • 2.9 File rotation (Rotación de archivos)
    • 2.10 Environment (Entorno)
  • 3 Configurar un servicio en Windows mediante la línea de comandos
  • 4 Conclusiones

Instalación de NSSM

Antes de poder crear un servicio con NSSM en primer lugar es necesario descargar el programa. Lo que se puede hacer desde la página web del proyecto. Al descargarlo se obtiene un archivo ZIP con el código fuente, una versión compilada para sistemas Windows de 32 bits y otra para los 64 bits. Afortunadamente el programa no requiere instalación, solamente será necesario seleccionar el archivo EXE más adecuado para nuestro sistema y ejecutar esta.

Publicidad


Configurar un servicio en Windows mediante la GUI

Para crear un nuevo servicio con nssm solamente hay que acceder a la ruta donde se descargó el programa y acceder a la carpeta con el compilado correspondiente a la versión del sistema operativo con el que se está trabajando. Ejecutando en la esta carpeta el siguiente comando

Faker en Python: qué es, para qué sirve y cómo generar datos sintéticos realistas
En Analytics Lane
Faker en Python: qué es, para qué sirve y cómo generar datos sintéticos realistas

nssm install <servicename>

donde hay que reemplazar <servicename> por el nombre del servicio que se desea configurar. Habitualmente Windows pedirá confirmación para modificar la configuración del sistema con este programa, lo que se deberá hacer con unas credenciales de administrador. Una vez confirmado que deseamos modificar la configuración del sistema aparecerá una ventana como la siguiente.

Ventana principal de NSSM
Ventana principal de NSSM

Ventana que cuenta con 10 pestañas para configurar las diferentes opciones del servicio, las cuales se explican a continuación.

Application (Aplicación)

La pestaña Application es la única hay que completar en todos los casos, dado que es la que contiene la configuración básica del servicio. En esta se define la ruta donde se encuentra el programa, la carpeta en la que se ejecutará y las opciones que se le han de pasar el servicio. Lo que se debe indicar en los diferentes campos del formulario:

  • Path: la ruta al programa que se desea ejecutar como servicio.
  • Startup directory: la ruta donde se ejecuta el servicio, esto es, la carpeta en la que por defecto podrá leer archivos de configuraciones y guardar logs.
  • Arguments: el listado de parametres que se le pasará al servicio cuando se ejecute.

El campo Path puede ser un algo confuso, ya que es la ruta al programa ejecutable. Cuando se crea un servicio en Python no se debe indicar la ruta al script, sino que la ruta al intérprete de Python. El script con el programa se deberá pasar en el campo Arguments. Si se ha indicado la carpeta donde se encuentra los archivos de script en Startup directory, solamente será necesario indicar el nombre del archivo en Arguments.

Publicidad


Details (Detalles)

La segunda pestaña sirve para darle un nombre y una descripción al servicio. Quizás el punto más importante de esta es si se desea que el servicio se inicie de forma automática o no. Aunque esto se puede cambiar posteriormente.

Pestaña Details de NSSM
Pestaña Details de NSSM

Log on (Inicio de sesión)

En la pestaña Log on se puede seleccionar la cuenta de usuario que ejecutará el servicio. El propio nssm comprobará automáticamente si la cuenta indicada tiene los permisos necesarios para iniciar la sesión como servicio.

Pestaña Log on de NSSM
Pestaña Log on de NSSM

Publicidad


Dependencies (Dependencias)

Mediante la pestaña Dependencies se puede indicar los servicios o grupos de servicios que deben iniciarse antes del que se está configurando. Evitando de este modo que falle el proceso de arranque por la falta de alguna dependencia.

Pestaña Dependencies de NSSM
Pestaña Dependencies de NSSM

Process (Procesos)

A través de la pestaña Process se puede indicar la prioridad con la que se ejecutará el servicio y su afinidad. Por defecto, el servicio se ejecuta con prioridad normal y usará todas las CPU. En el caso de que se desee restringir la ejecución del servicio solamente a un subconjunto de las CPU se deberá desmarcar All processors y seleccionar las que se desee.

Pestaña Process de NSSM
Pestaña Process de NSSM

Publicidad


Shutdown (Apagado)

En la pestaña Shutdown se pueden seleccionar los diversos tiempos de detención y tiempos de espera que se usan al ordenar la aplicación después de un bloqueo o cuando el servicio se detiene correctamente.

Pestaña Shutdown de NSSM
Pestaña Shutdown de NSSM

Exit actions (Acciones de salida)

La pestaña Exit actions permite modificar el reinicio de la aplicación y la acción predeterminada al finalizar este. Al mismo tiempo también se puede especificar la introducción de un retraso entre los reinicios automáticos del servicio.

Pestaña Exit actions de NSSM
Pestaña Exit actions de NSSM

Publicidad


I/O (Entrada/Salida, E/S)

Para los casos en los que se necesita redirigir la entrada y salida del servicio a un archivo esto se puede hacer mediante los campos de la pestaña I/O. Generalmente es suficiente con redirigir los valores de salida (stdout) y de error (stderr) para tener toda la información que el programa puede generar durante su ejecución. Algo con lo que se pude conseguir un log básico del servicio.

Pestaña I/O de NSSM
Pestaña I/O de NSSM

File rotation (Rotación de archivos)

La pestaña File rotation se debe usar junto la anterior para definir la política de rotación de archivos E/S. Para eliminar los archivos generados después de un tiempo, evitando de esta manera que el espacio ocupado por el log en el disco crezca sin límite.

Pestaña File Rotation de NSSM
Pestaña File Rotation de NSSM

Publicidad


Environment (Entorno)

Finalmente, mediante la pestaña Enviroment se puede especificar una lista de variables de entorno, una en cada línea, que se pasan a la aplicación. Si la casilla de verificación Replace default environment (Reemplazar entorno predeterminado) se selecciona el servicio únicamente recibirá las variables indicadas aquí, eliminando los valores por defecto. Por otro lado, si se dejan sin marcar se combina ambas.

Pestaña Enviroment de NSSM
Pestaña Enviroment de NSSM

Configurar un servicio en Windows mediante la línea de comandos

Aunque la interfaz gráfica es muy útil para iniciar los diferentes servicios, si se desea realizar un único cambio puede ser más rápido usar la línea de comandos. Para modificar una opción de un servicio solamente se tiene que pasar el parámetro adecuado a nssm. Así para crear un servicio básico escrito en Python desde la línea de comando solamente se tendrá que escribir.

nssm set myservice Application "C:\Python\Python 3.9\python.exe"
nssm set myservice AppDirectory "C:\Services"
nssm set myservice AppParameters myservice.py

En la primera línea se crea un servicio llamado myservice que se va a ejecutar con Python 3.9. Indicando en esta línea la ruta al intérprete. Posteriormente, en la segunda línea, se indica la ruta donde se ejecutará, una carpeta en el disco duro a la que se llama Services. Finalmente se indica el archivo con el código Python que se desea ejecutar, en este caso myservice.py que debe estar ubicado en C:\Services.

Publicidad


Conclusiones

En esta entrada hemos visto una solución para configurar los servicios en Windows de una forma más eficiente que la que existe por defecto. Facilitando enormemente esta tarea. Quizás no sea algo que se hace habitualmente, pero saber configurar un servicio en Windows puede ser de ayuda cuando es necesario.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Faker en Python: qué es, para qué sirve y cómo generar datos sintéticos realistas
  • Probabilidades y tests: por qué un resultado positivo no significa lo que crees
  • JSON en bases de datos: cuándo es buena idea y cuándo no
  • Roles en ciencia de datos: Guía completa de perfiles técnicos
  • Exactitud, precisión, recall… qué mide realmente cada métrica (y qué no)
  • Hardening de SSH en Rocky Linux 9: cómo desactivar KEX débiles y reforzar la seguridad
  • Nueva herramienta en Analytics Lane: generador de contraseñas seguras y frases de contraseña
  • Hardening de NGINX en 2026: configuración segura básica paso a paso

Publicado en: Herramientas Etiquetado como: Windows

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

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

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Hardening de NGINX en 2026: configuración segura básica paso a paso

marzo 12, 2026 Por Daniel Rodríguez

Nueva herramienta en Analytics Lane: generador de contraseñas seguras y frases de contraseña

marzo 10, 2026 Por Daniel Rodríguez

Hardening de SSH en Rocky Linux 9: cómo desactivar KEX débiles y reforzar la seguridad

marzo 5, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Curiosidad: El origen del análisis exploratorio de datos y el papel de John Tukey publicado el septiembre 4, 2025 | en Ciencia de datos, Opinión
  • Cómo solucionar problemas de red en VirtualBox: Guía completa publicado el junio 11, 2025 | en Herramientas
  • Cómo calcular el tamaño de la muestra para encuestas publicado el septiembre 9, 2025 | en Ciencia de datos
  • Cómo instalar paquetes en Jupyter Notebook de forma eficiente: Guía completa con ejemplo publicado el febrero 3, 2025 | en Python
  • Gráfica con los datos y las anomalías detectadas con OneClass SVM One-Class SVM: Detección de anomalías con máquinas de vector soporte publicado el marzo 15, 2024 | en Ciencia de datos

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto