
El sistema de inicio systemd ahora forma parte de casi todas las distribuciones de Linux. Como administrador o desarrollador, usted crea servicios que systemd puede administrar. Por ejemplo, si desea iniciar servicios al inicio o desea controlarlos manualmente, puede hacerlo a través de un archivo de servicio personalizado.
En este tutorial, le mostraré cómo configurar un archivo de servicio systemd en Linux.
¿Qué es un archivo de servicio?
Antes de continuar, primero comprendamos qué es un archivo de servicio systemd y cómo se establece en Linux.
El archivo de servicio systemd contiene el conjunto de comandos systemd para administrar servicios. Suele contener tres partes:
este unidad Las secciones contienen información básica sobre el servicio, como una breve descripción, una página de archivo y rutas de dependencia.este Instalar La sección es opcional, pero generalmente determina en qué estado del sistema se debe habilitar el servicio.
este Atender La sección suele estar intercalada entre la sección de la unidad y la sección de montaje. Contiene principalmente el tipo de servicio y la ruta al archivo ejecutable. Estos archivos ejecutables son esencialmente los comandos ejecutados cuando systemd llama al servicio.
Así es como se ve una estructura de archivo de servicio típica.
Instrucción 1=comando
Instrucción 2=comando
…
[Service]
Instrucción 1=comando
Instrucción 2=comando
…
[Install]
Instrucción 1=comando
Instrucción 2=comando
…
Aquí, las instrucciones aceptan sus respectivos parámetros de entrada. Por ejemplo, describir El comando toma una cadena de nombres de servicios. En una forma similar, Inicio de ejecución Considere la ruta completa al archivo ejecutable.
Archivos de servicio típicos servicio ssh Dada a continuación.

Cómo crear un archivo de servicio
Para configurar un servicio systemd, es necesario comprender las instrucciones clave. En esta guía, cubriré instrucciones básicas que lo ayudarán a crear un archivo de servicio completamente funcional.
Hay varios pasos involucrados en la configuración de un archivo de servicio. Comencemos configurando el archivo de secuencia de comandos.
notas: Para continuar con los métodos que se mencionan a continuación, debe tener privilegios de root.
1. Crear guión
Los pasos iniciales implican la creación de código que se ejecutará cuando el servicio comience a ejecutarse. En este tutorial, crearé un script bash que almacena el tiempo de actividad y el uso de memoria de un sistema Linux.
Creemos un script en el directorio actual llamado miscript.sh Utilice el nanoeditor.
Ahora, agregue el script que se proporciona a continuación en el archivo y presione Ctrl+X y luego y.
eco «>>Este es el tiempo de actividad de su sistema<<" > Hogar/Sam/miarchivo.txt
horas normales de funcionamiento >> Hogar/Sam/miarchivo.txt
eco «>>Este es el uso de memoria de su sistema<<" >> /Hogar/Sam/miarchivo.txt
gratis -metro >> Hogar/Sam/miarchivo.txt
dormir 60
El script contiene varias cadenas de eco y horas normales de funcionamiento y gratis Orden.
este horas normales de funcionamiento Un comando en Linux que imprime cuánto tiempo ha estado funcionando el sistema y cuántos usuarios estuvieron conectados para la carga promedio del sistema durante los últimos 1, 5 y 15 minutos.
este gratis El comando se utiliza para imprimir el uso de memoria del sistema, mientras que -metro bandera para salida de impresión MEGABYTE.
Para guardar información en un archivo de texto, utilizamos operadores especiales llamados operadores de redirección.este > El operador se utiliza para insertar texto en el archivo de texto mencionado. Sin embargo, si el archivo aún no existe, se creará.A pesar de >> Los operadores se utilizan para agregar texto a un archivo.este dormir El comando se utiliza para mantener el servicio activo durante al menos un minuto.
Ahora, haga que el script sea ejecutable otorgando los permisos necesarios.
sudo chmod +x miscript.sh
El script ahora tiene permisos de ejecución, pasemos a la siguiente sección.
notas: Para que el archivo de servicio esté libre de errores, utilice la ruta absoluta al archivo en el script bash.
2. Cree un archivo .service
A continuación, cree un archivo de servicio. . expandir.Los archivos de servicio deben crearse en /etc/systemd/sistema Tabla de contenido.Primero, navegue hasta el directorio usando el siguiente comando CD Orden.
Sin embargo, puede crear el archivo de servicio en cualquier directorio y luego mover el archivo a este directorio.
Estoy creando un archivo de servicio miservicio.servicio Nombre.
sudo nanómetro miservicio.servicio
Ahora, agregue las siguientes líneas al archivo.
describir=mis servicios
[Service]
tipo= Sencillo
Inicio de ejecución=/basura/intento /Hogar/Sam/archivo de comandos
Reanudar= en caso de falla
[Install]
persona buscada= Objetivo multiusuario
Aviso [Unit], [Service], y [Install] Sí distingue mayúsculas y minúsculas.Si alguna de estas menciones es incorrecta, el archivo de servicio no funcionará, p. [UNIT]o [SERVICE].
El nombre del servicio se especifica como Mis servicios adentro describir instrucciones [Unit] parte.
este tipo El contenido del servicio es simple adentro [Service] sección, que es el tipo predeterminado. Bifurcación, un golpe, notificar, autobúse inactivo son algunos otros tipos.
Si desea que el servicio sea específico del usuario, entonces usuario La directiva también se puede utilizar con el nombre de usuario del usuario. El uso de esta directiva hará que el servicio dependa de los permisos del usuario.
A pesar de Inicio de ejecución El comando contiene la ruta completa al archivo ejecutable.En el ejemplo anterior, el archivo de script miscript.sh guardado en /inicio/Sam/ Tabla de contenido. Esta directiva en realidad gestiona lo que systemd ejecuta cuando llama al servicio.Si no especifica la ruta completa del comando, se resolverá automáticamente en una ruta absoluta fija, por ejemplo /usr/local/bin, /usr/bin/, y /basura. Puede utilizar el nombre del ejecutable siempre que esté ubicado en el directorio de directivas estándar; de lo contrario, mencione la ruta absoluta. Tenga en cuenta que también se pueden utilizar varias directivas, separadas por punto y coma (;).
este [Install] La sección es opcional; sin embargo, indica cómo habilitar el servicio.este persona buscada El comando toma un archivo de destino de nivel de ejecución como parámetro.Varios perfiles de destino representan diferentes niveles operativos del sistema, p. Cerrar, rescate, Multi usuario, Gráficoy Reanudar.
este objetivo multiusuario Indica que el servicio se habilitará cuando el sistema esté en un estado que permita sesiones no gráficas multiusuario.
3. Inicie el servicio
Para iniciar el servicio, primero, vuelva a cargar la configuración de systemd usando el siguiente comando Control de sistema Utilidades.
sudo recarga del demonio systemctl
A continuación, inicie el servicio nuevamente usando Control de sistema comando con permitir.
sudo Control de sistema permitir miservicio.servicio
Para verificar, verifique el estado del servicio usando el siguiente comando Estado de control del sistema Orden.
El servicio funciona con éxito.
Ahora, leamos el archivo de texto. miarchivo.txt Servicios creados en /Hogar Tabla de contenido.


Cómo crear archivos de servicio Systemd para usuarios generales
El proceso para que los usuarios generales creen archivos de servicio es similar al método para que los administradores creen archivos de servicio. Pero el directorio donde los usuarios normales guardan los archivos de servicio es diferente.Los usuarios comunes deben colocar sus archivos de servicio en ~/.config/systemd/usuarios.El directorio debe crearse usando el siguiente comando Tabla de contenido Orden.
Tabla de contenido ~/.config/sistema/usuario
Servicio de habilitación de usuario general -usuario El comando se inserta como Control de sistema reemplazar sudo.
Control de sistema – Usuario permitir Nombre del servicio.servicio
Control de sistema – Usuario Estado nombre del servicio.servicio
este -usuario Opciones para administrar los archivos de servicio systemd del usuario.
Cómo eliminar archivos de servicio
Para eliminar archivos de servicio, primero debe detener el servicio.
sudo systemctl detener nombre del servicio.servicio
Usar estado de verificación Estado de control del sistema comando para saber si el servicio está detenido.Luego elimine el archivo de servicio usando RM Orden.
sudo RM /ETC/sistema/sistema/Nombre del servicio.servicio
Ahora, recarga sistema configuración.
sudo recarga del demonio systemctl
en conclusión
Los servicios systemd personalizados tienen ventajas en varios escenarios. En esta guía, aprendemos cómo crear archivos de servicio systemd personalizados para administradores de sistemas y cómo crear archivos de servicio para usuarios generales. Además, también vimos el proceso de eliminación de archivos de servicio.









