Você pode querer usar o comando timeout .
timeout -k 10s 30s command
que irá executar o comando por 30s e matá-lo após 10s se ainda estiver em execução. - Verifique a manpage para mais opções.
Se e como é possível, em Terminal
, fazer com que um aplicativo seja executado por 30 segundos, antes de ser forçado a fechar e ecoar os logs desse processo?
Você pode querer usar o comando timeout .
timeout -k 10s 30s command
que irá executar o comando por 30s e matá-lo após 10s se ainda estiver em execução. - Verifique a manpage para mais opções.
Aqui estão duas maneiras (mas o comando timeout
sugerido por mcantsin é provavelmente melhor):
Inicie o comando em segundo plano, assim seu PID é salvo em $!
e você pode usá-lo para eliminá-lo após o tempo especificado:
command &
sleep 30 && kill $!
Inicie o comando e use pkill
ou killall
para eliminá-lo. CUIDADO: Isso pressupõe que apenas um comando com esse nome esteja em execução. Estou usando firefox
como exemplo:
firefox &
sleep 30 && pkill firefox
Não tenho ideia do que você quer dizer com "os registros desse processo", mas o erro padrão de um processo pode ser salvo em um arquivo com command 2> logfile.txt
.
Tags command-line scripts