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?
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?
Respostas:
Você pode querer usar o comando timeout .
timeout -k 10s 30s command
que executará o comando por 30s e o matará após 10s, se ainda estiver em execução. - Verifique a página de manual para mais opções.
watchme parece um comando muito interessante. Pode vir a calhar ...
Aqui estão duas maneiras (mas o timeoutcomando sugerido por mcantsin é provavelmente melhor):
Inicie o comando em segundo plano, para que seu PID seja salvo $!e você pode usá-lo para eliminá-lo após o tempo especificado:
command &
sleep 30 && kill $!Inicie o comando e use pkillou killallpara matá-lo. CUIDADO: Isso pressupõe que apenas um comando com esse nome esteja sendo executado, estou usando firefoxcomo exemplo:
firefox &
sleep 30 && pkill firefoxNão tenho idéia do que você quer dizer com "os logs desse processo", mas o erro padrão de um processo pode ser salvo em um arquivo command 2> logfile.txt.