Se e come è possibile, in Terminal, far funzionare un'applicazione per 30 secondi, prima di essere forzata alla chiusura e fare eco ai registri di quel processo?
Se e come è possibile, in Terminal, far funzionare un'applicazione per 30 secondi, prima di essere forzata alla chiusura e fare eco ai registri di quel processo?
Risposte:
Potrebbe essere necessario utilizzare il comando timeout .
timeout -k 10s 30s command
che eseguirà il comando per 30 secondi e lo ucciderà dopo 10 secondi se ancora in esecuzione. - Controlla la manpage per ulteriori opzioni.
watchmi sembra un comando molto interessante. Potrebbe tornare utile ...
Ecco due modi (ma il timeoutcomando suggerito da mcantsin è probabilmente migliore):
Avvia il comando in background, in questo modo viene salvato il suo PID $!e puoi usarlo per ucciderlo dopo il tempo specificato:
command &
sleep 30 && kill $!Avvia il comando e usa pkillo killallper ucciderlo. ATTENZIONE: questo presuppone che sia in esecuzione solo un comando con quel nome, che sto usando firefoxcome esempio:
firefox &
sleep 30 && pkill firefoxNon ho idea di cosa intendi con "i registri di quel processo", ma l'errore standard di un processo può essere salvato in un file con command 2> logfile.txt.