Necesito llamar a un comando específico en un intervalo de aproximadamente 5 segundos. ¿Cómo configuraría un demonio / proceso ejecutándose en segundo plano o algo similar para hacerlo? Miré cronjobs, pero el intervalo mínimo parece ser de 1 minuto. Cualquier consejo es apreciado;)
Fedora es el sistema.
EDITAR el comando sería un bashscript, así que "mirar" no lo haría, creo.
command-line
Hans
fuente
fuente
disown
elimina el último trabajo de la tabla de trabajos de shell, convirtiéndolo en una especie de demonio, como usted pidió. No es un demonio real porque todavía está conectado a la terminal y está en el mismo grupo de procesos, pero seguirá ejecutándose después de cerrar el shell.¿Por qué crees que 'reloj' no funcionará?
fuente
nohup watch -n 5 ./periodic.sh > periodic.log &
y almacenar la salida.Tal vez con nohup? Está diseñado para permitir que un trabajo se ejecute después de cerrar el shell.
También puedes usar pantallas.
fuente
El
watch
comando es apropiado en su caso, usaría un multiplexor de terminal (por ejemplo, tmux, pantalla, etc.) y luego ejecutaría el comando usandoEn ese caso, incluso si cierra la terminal o la conexión ssh a la máquina, el script aún se estaría ejecutando.
La única limitación de este enfoque es que el script se ejecutará cada 5 segundos solo si ha completado su ejecución dentro de ese intervalo de tiempo.
fuente
watch
, no lo haría, explique por qué su respuesta supera esta limitación o en qué momento cree que el OP se equivocó alwatch
considerar que no es adecuado para la tarea.