Uma questão maior é por que você está executando o comando 10 vezes por 1 segundo, em vez de 1 vez por 10 segundos? Você nem precisaria do loop então. Se for para impedir que outra pessoa digite a senha e desbloqueie o computador, talvez você deva apenas alterar a senha e mantê-la para si.
Há um software para ajudar a gerenciar o tempo. Você pode tentar um, como o Pomodoro :
Este aplicativo GNOME ajuda a gerenciar o tempo de acordo com a técnica Pomodoro . Pretende melhorar a produtividade e a qualidade do trabalho, lembrando-o de fazer pequenas pausas.
A técnica Pomodoro é baseada em dois princípios:
- concentrando-se no trabalho por tempo limitado, cerca de meia hora,
- limpando sua mente durante os intervalos.
Esse fluxo de trabalho pode melhorar o foco, a saúde física e a agilidade mental, dependendo de como você gasta seus intervalos e de quão rigorosamente você segue a rotina.
Veja esta pergunta no askubuntu Existe um aplicativo Pomodoro disponível? , também recomenda tomate entre outros.
Se você quiser "parar" um programa específico por um tempo, poderá usar kill -STOP pid
ou pkill -STOP pattern
, como em
kill -STOP pid
sleep $seconds
kill -CONT pid
Parar qualquer programa que você queira interromper deixaria o restante do sistema funcionando. Eu realmente não gostaria de tentar parar algo mais importante, como o gerenciador de janelas ou o X / xorg.
O Cron não se comporta exatamente como o terminal do usuário comum, talvez nem saiba onde estão alguns comandos. Você poderia tentar:
Executando o comando como seu usuário, via sudo -u [YourUser] command
(consulte man sudo para obter mais informações -u
).
Adicione o caminho completo ao comando (encontrado via which [command]
ou pesquisando os arquivos instalados do pacote com dpkg
ou apt / synaptic, etc.
Parece que timeout
se comporta de maneira diferente quando é executado em um terminal interativo, vs em um script. A leitura da página de informações revela uma opção que acho que você poderia usar:
'--foreground'
Não crie um grupo de programas em segundo plano separado, para que o COMMAND gerenciado possa usar o TTY em primeiro plano normalmente. Isso é necessário para suportar comandos de tempo limite não iniciados diretamente de um shell interativo, em duas situações.
- COMMAND é interativo e precisa ler do terminal, por exemplo
o usuário deseja suportar o envio de sinais diretamente para o COMMAND a partir do terminal (como Ctrl-C, por exemplo)
Observe que neste modo de operação, qualquer filho do COMMAND não será atingido pelo tempo limite. Além disso, o SIGCONT não será enviado ao COMMAND, pois geralmente não é necessário nos processos em primeiro plano e pode causar problemas intermitentes de entrega de sinal com programas que são monitores próprios (como o GDB, por exemplo).