Solución:
Cron solo permite un mínimo de un minuto. Lo que tu podría Lo que hace es escribir un script de shell con un bucle infinito que ejecute su tarea y luego duerma durante 5 segundos. De esa manera, su tarea se ejecutará más o menos cada 5 segundos, dependiendo de cuánto tiempo tome la tarea en sí.
#!/bin/bash
while true; do
# Do something
sleep 5;
done
Puedes crear un my-task.sh
archivo con el contenido anterior y ejecútelo con sh my-task.sh
. Opcionalmente puedes configurarlo con supervisor
como un servicio para que se inicie cuando se inicie el sistema, etc.
Realmente suena como si estuvieras haciendo algo que probablemente no deberías estar haciendo. Esto se siente incorrecto.
Podrías tener un cron
El trabajo inicia un script cada minuto que inicia 12 procesos en segundo plano de la siguiente manera:
* * * * * ~/dostuff.sh
dostuff.sh
:
(sleep 5 && /path/to/task) &
(sleep 10 && /path/to/task) &
(sleep 15 && /path/to/task) &
(sleep 20 && /path/to/task) &
(sleep 25 && /path/to/task) &
(sleep 30 && /path/to/task) &
(sleep 35 && /path/to/task) &
(sleep 40 && /path/to/task) &
(sleep 45 && /path/to/task) &
(sleep 50 && /path/to/task) &
(sleep 55 && /path/to/task) &
(sleep 60 && /path/to/task) &
Mi pregunta, sin embargo, es Que demonios ¿Podría estar haciendo que se ejecute cada 5 segundos?
Solo usa un bucle:
while true ; do ./your-script & sleep 5; done
Esto iniciará su script como un trabajo en segundo plano, dormirá durante 5 segundos y luego volverá a repetirse. Puede usar Ctrl-C para cancelarlo, o usar cualquier otra condición en lugar de true
, p.ej ! test -f /tmp/stop-my-script
para solo hacer un bucle mientras el archivo /tmp/stop-my-script
no existe.