Candidato ao mais criativo uso indevido de um comando do Linux:
nohup watch -n 30 --precise yourprog >/dev/null &
Se yourprog
consistir em:
date +%M.%S.%N >> yourprog.out
então yourprog.out
pode parecer:
50.51.857291267
51.21.840818353
51.51.840910204
52.21.840513307
52.51.842455224
53.21.841195858
53.51.841407587
54.21.840629676
indicando um bom nível de precisão.
Aqui está uma explicação das partes do comando:
-
nohup
- Isto mantém o comando que o segue, watch
neste caso, saindo quando o terminal sai.
-
watch
- Este programa executa um comando repetidamente. Normalmente, a primeira tela cheia de saída do comando é exibida sempre que watch
executa o comando.
-
-n 30
- O intervalo no qual executar o comando. Neste caso, é a cada trinta segundos.
-
--precise
- Sem essa opção, watch
executa o comando após intervalo segundos. Com ele, cada início do comando começa em o intervalo, se possível. Se essa opção não fosse especificada no exemplo, os horários chegariam mais tarde e mais tarde por mais de 30 segundos, devido ao tempo gasto para iniciar e executar o comando ( yourprog
).
-
yourprog
- O programa ou linha de comando para watch
executar. Se a linha de comando contiver caracteres especiais para o shell (por exemplo, espaço ou ponto-e-vírgula), ele precisará ser citado.
-
>/dev/null
- O maior que redireciona a saída do comando que está sendo executado por watch
para um arquivo, /dev/null
. Esse arquivo descarta todos os dados gravados nele. Isso impede que a saída seja gravada na tela ou, como o nohup
está sendo usado, impede que a saída seja enviada para um arquivo chamado nohup.out
.
-
&
- O comando watch
é executado em segundo plano e o controle é retornado para o terminal ou processo pai.
Observe que nohup
, o redirecionamento de saída e o operador de controle de background &
não são específicos de watch
.
Aqui está uma explicação do exemplo yourprog
script:
-
date
- Mostra a data e / ou a hora atual. Também pode configurá-los.
-
+%M.%S.%N
- especifica o formato de saída para date
a ser usado. %M
é o minuto atual, %S
é o segundo atual e %N
é o nanossegundo atual.
-
>> yourprog.out
- Isso redireciona a saída do comando date
para um arquivo chamado yourprog.out
. O double greater-than faz com que a saída seja anexada ao arquivo em cada chamada, em vez de o conteúdo anterior ser sobrescrito.
Editar :
Possivelmente outra coisa que poderia ser abusada (ou talvez seja um uso legítimo) é temporizadores do sistema.
Veja systemd / Timers como um substituto do cron e Os cronômetros systemd em tempo real .
Vou tentar postar um exemplo em breve.