Resumen de registro del servicio de Linux

La mayoría de Linux utiliza init.d o systemd para registrar servicios. A continuación se muestra el servicio de registro init.d con centos6.6 (centos6 no utiliza systemd, por lo que no hay un comando systemctl) ; se muestra el servicio de registro systemd con centos7.1. Nota xxx.sh debe recordar (chmod + x test.sh) para agregar permisos ejecutables .

1. Implementación init.d basada en Linux

sudo ln -s /etc/systemd/xxxx.sh  /etc/init.d/xxxx

Donde xxxx es el nombre del servicio

service xxxx start       启动服务
service xxxx stop        停止服务
service xxxx status      服务状态
chkconfig xxxx on          开机启动

Nota: Al ejecutar el comando de arranque, si el servicio de informes no es compatible con la solución chkconfig

Por ejemplo, las primeras tres líneas de auto_run son las siguientes:

#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run

La primera línea, dijo a la cáscara utilizado por el sistema, la que hay una secuencia de comandos shell como este.

En la segunda línea, hay tres parámetros 2345, 80 y 90 detrás de chkconfig para indicarle al programa chkconfig que necesita crear un archivo llamado S80auto_run en el directorio rc2.d ~ rc5.d para conectarse a /etc/rc.d/init.d El script auto_run en el directorio. El primer carácter es S. Cuando se inicia el sistema, cuando se ejecuta el script auto_run, se agregará un parámetro de inicio para indicarle al script que ahora está en modo de inicio. Al mismo tiempo, en los directorios rc0.d y rc6.d, cree una conexión de archivo llamada K90auto_run, el primer carácter es K, cuando el sistema se apaga, ejecutará auto_run, agregará una parada y le dirá al script que ahora está en modo apagado.

Tenga en cuenta que los anteriores tres líneas, Di En segundo lugar, la tercera línea es una necesidad, de lo contrario cuando se ejecuta chkconfig --add auto_run, se quejará.

2. Despliegue systemd basado en Linux

Cree un nuevo archivo test.service en el directorio / etc / systemd / system / y complete lo siguiente:

[Unit]
Description=test
After=syslog.target
[Service]
ExecStart= /etc/systemd/xxxx.sh  ./xxxx.sh
[Install]
WantedBy=multi-user.target

Tenga en cuenta que en el uso real, modifique el contenido detrás de Descripción y ExecStart

systemctl start test 或  systemctl start test.service           启动服务
systemctl stop test 或  systemctl stop test.service             停止服务
systemctl status test 或  systemctl status test.service         服务状态
systemctl enable test 或  systemctl enable test.service         开机启动

Nota: journalctl se utiliza para consultar los registros recopilados por el servicio systemd-journald. El servicio systemd-journald es un servicio proporcionado por el sistema systemd init para recopilar registros del sistema.

journalctl -u test 或  journalctl -u test.service

Observaciones: Estos son los problemas encontrados en el proceso de operación real y un pequeño resumen y acumulación de mí mismo. He tomado prestados los artículos de muchas otras personas. No los mencionaré aquí en detalle.

8 artículos originales publicados · Me gusta1 · Visitas 265

Supongo que te gusta

Origin blog.csdn.net/qq_40635011/article/details/88427057
Recomendado
Clasificación