Preciso chamar um comando específico em um intervalo de cerca de 5 segundos. Como eu configuraria um daemon / processo em execução em segundo plano ou algo semelhante para fazer isso? Eu olhei para cronjobs, mas o intervalo mínimo parece ser de 1 minuto. Qualquer conselho é apreciado;)
O Fedora é o sistema.
EDITAR o comando seria um bashscript, então "watch" não faria isso, eu acho.
command-line
Hans
fonte
fonte
disown
remove o último trabalho da tabela de trabalhos do shell, tornando-o uma espécie de daemon, como você pediu. Não é um daemon real porque ainda está conectado ao terminal e está no mesmo grupo de processos, mas continuará sendo executado após o fechamento do shell.Por que você acha que 'watch' não vai funcionar?
fonte
nohup watch -n 5 ./periodic.sh > periodic.log &
e armazenar a saída.Talvez com nohup? Ele foi projetado para permitir que um trabalho seja executado após o fechamento do shell.
Você também pode usar telas.
fonte
O
watch
comando é apropriado no seu caso, eu usaria um multiplexador de terminal (por exemplo, tmux, screen etc.) e executaria o comando usandoNesse caso, mesmo se você fechar a conexão do terminal ou ssh à máquina, o script ainda estará em execução.
A única limitação dessa abordagem é que o script será executado a cada 5 segundos apenas se tiver concluído sua execução dentro desse intervalo de tempo.
fonte
watch
, não faria isso, explique por que sua resposta supera essa limitação ou em que momento você acha que o OP estava enganado porwatch
ser inadequado para a tarefa.