Gostaria que minhas gtags fossem atualizadas automaticamente, mas somente quando o sistema estiver ocioso.
Para conseguir isso, estou usando iupdate
para monitorar as partes interessantes da minha pasta de origem. Mas estou com um problema na parte "idle": sei que o batch
comando pode executar jobs quando a carga cai abaixo de 1,5 (ou de um valor configurado). Mas pode acontecer que ele seja iupdate
executado batch
várias vezes antes da execução do trabalho, o que levaria a várias atualizações de gtags.
É claro que eu poderia criar algum arquivo de bloqueio e iniciar batch
apenas se não tivesse sido chamado antes.
Mas existe algum método mais padrão? Estou esperando por algo como batch_only_once
...
Responder1
Isso fará isso por você:
$ cat /etc/lsb-release | grep -i desc
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
$ apt-cache show run-one
....
Description-en: run just one instance of a command and its args at a time
This utility will run just one instance at a time of some command and
unique set of arguments (useful for cronjobs, eg).
Responder2
Você pode criar um script wrapper que primeiro analisará atq
e removerá outros trabalhos em lote usando atrm
.