Wenn und wie ist es möglich, Terminal
eine Anwendung für 30 Sekunden zum Ausführen zu bringen, bevor sie zwangsweise geschlossen wird, und die Protokolle dieses Prozesses zu wiederholen?
Wenn und wie ist es möglich, Terminal
eine Anwendung für 30 Sekunden zum Ausführen zu bringen, bevor sie zwangsweise geschlossen wird, und die Protokolle dieses Prozesses zu wiederholen?
Antworten:
Möglicherweise möchten Sie den Befehl timeout verwenden .
timeout -k 10s 30s command
Dadurch wird der Befehl 30 Sekunden lang ausgeführt und nach 10 Sekunden beendet, wenn er noch ausgeführt wird. - Weitere Optionen finden Sie auf der Manpage.
watch
scheint mir ein sehr interessanter Befehl. Könnte sich als nützlich erweisen ...
Es gibt zwei Möglichkeiten (aber der timeout
Befehl von mcantsin vorgeschlagen ist wahrscheinlich besser):
Starten Sie den Befehl im Hintergrund, damit seine PID gespeichert wird $!
und Sie ihn nach der angegebenen Zeit beenden können:
command &
sleep 30 && kill $!
Starten Sie den Befehl und verwenden Sie pkill
oder killall
, um ihn zu beenden. ACHTUNG: Dies setzt voraus, dass nur ein Befehl mit diesem Namen ausgeführt wird. Ich verwende firefox
als Beispiel:
firefox &
sleep 30 && pkill firefox
Ich habe keine Ahnung, was Sie mit "den Protokollen dieses Prozesses" meinen, aber der Standardfehler eines Prozesses kann mit in einer Datei gespeichert werden command 2> logfile.txt
.