Forma correcta de ejecutar una tarea / progtwig raíz en el background

Estoy escribiendo un progtwig que debe ejecutarse en segundo plano como raíz.

(para cualquier usuario)

Para hacer esto, utilicé el file /etc/rc.local . Y parece funcionar.

El problema que estoy experimentando es que, cuando un usuario normal intenta apagar la computadora, ya que hay una "tarea" activa desde la count raíz, el usuario normal se inclina a ingresar la contraseña raíz.

Esto me hizo adivinar que probablemente estoy haciendo esto de una manera incorrecta. ¿Hay alguna forma mejor de hacer esto? He pensado en algunas soluciones que pueden funcionar, pero realmente me gustaría saber cómo hacer esto correctamente.

Related of "Forma correcta de ejecutar una tarea / progtwig raíz en el background"

No. No depende de eso. Si llama a una tarea simple desde rc.local, no debería get este comportamiento.

Si desea ejecutar una tarea como raíz en segundo plano, esto es lo que se llama daemons. Hay más methods para hacer eso, los 3 más probables:

  1. Si el demonio hace algo periódicamente, puedes desarrollarlo como un script de crontab . Está muy claro, aunque no es realmente efectivo.
  2. Puede crear un service para eso también, lo que significa: 1. tuvo que desarrollar su script de inicio / detención en /etc/inittab , y 2. tuvo que configurar el service con su systemd (que probablemente sea el inicio de su service principal del sistema) / reiniciador daemon). Si aquí tienes un problema, tus próximas preguntas son bienvenidas.
  3. Las soluciones más robustas se obtienen al combinar las 2 anteriores. Aunque combina las desventajas también. Implementa un service de sistema, lo ejecuta como un service de sistema y también desarrolla una secuencia de testing, que solo testing si funciona correctamente. Si no, entonces mata y reinicia.

Acerca de su problema real: no, se le preguntará al usuario casi seguro que no se debe a un daemon en ejecución simple. Debe estar en algún otro lugar en su configuration. En un sistema normal hay alnetworkingedor de unos cien processs, y prácticamente siempre hay tareas que no se pueden detener limpiamente (ya sea por algún problema, o porque no es necesario, o porque es imposible). No causa un comportamiento problemático en los sistemas, solo hace que los reinicios sean más rápidos. Si elaboró ​​un poco qué distribución usa, qué está ejecutando en segundo plano, etc. nos ayudó mucho.