Je dois appeler une commande spécifique dans un intervalle d'environ 5 secondes. Comment configurer un démon / processus fonctionnant en arrière-plan ou quelque chose de similaire pour le faire? J'ai regardé les cronjobs, mais l'intervalle minimum semble être de 1 minute. Tout conseil est apprécié;)
Fedora est le système.
EDITER la commande serait un bashscript, donc "watch" ne le ferait pas je pense.
command-line
Hans
la source
la source
disown
supprime le dernier travail de la table des travaux du shell, ce qui en fait une sorte de démon, comme vous l'avez demandé. Ce n'est pas un véritable démon car il est toujours attaché au terminal et se trouve dans le même groupe de processus, mais il continuera à fonctionner après la fermeture du shell.Pourquoi pensez-vous que «regarder» ne fonctionnera pas?
la source
nohup watch -n 5 ./periodic.sh > periodic.log &
et stocker la sortie.Peut-être avec nohup? Il est conçu pour permettre l'exécution d'un travail après la fermeture du shell.
Vous pouvez également utiliser des écrans.
la source
La
watch
commande est appropriée dans votre cas, j'utiliserais un multiplexeur de terminal (par exemple tmux, écran, etc.), puis exécuter la commande en utilisantDans ce cas, même si vous fermez le terminal ou la connexion ssh à la machine, le script sera toujours en cours d'exécution.
La seule limitation de cette approche est que le script ne s'exécutera toutes les 5 secondes que s'il a terminé son exécution dans cet intervalle de temps.
la source
watch
il ne le ferait pas, veuillez expliquer pourquoi votre réponse dépasse cette limite ou à quel point vous pensez que le PO s'est trompé sur le faitwatch
qu'il ne convenait pas à la tâche.