Jeśli i jak można, Terminalwewnątrz, uruchomić aplikację przez 30 sekund, zanim zostanie ona wymuszona zamknięcie i echo dzienników tego procesu?
Jeśli i jak można, Terminalwewnątrz, uruchomić aplikację przez 30 sekund, zanim zostanie ona wymuszona zamknięcie i echo dzienników tego procesu?
Odpowiedzi:
Możesz użyć polecenia limitu czasu .
timeout -k 10s 30s command
który uruchomi polecenie przez 30 sekund i zabije go po 10 sekundach, jeśli nadal działa. - Sprawdź stronę podręczną, aby uzyskać więcej opcji.
watchwydaje mi się bardzo interesującym poleceniem. Może się przydać ...
Oto dwa sposoby (ale timeoutpolecenie sugerowane przez mcantsin jest prawdopodobnie lepsze):
Uruchom polecenie w tle, w ten sposób zostanie zapisany jego PID $!i możesz go użyć, aby zabić go po określonym czasie:
command &
sleep 30 && kill $!Uruchom polecenie i użyj pkilllub, killallaby je zabić. UWAGA: Zakłada się, że działa tylko jedno polecenie o tej nazwie, używam firefoxjako przykładu:
firefox &
sleep 30 && pkill firefoxNie mam pojęcia, co rozumiesz przez „dzienniki tego procesu”, ale standardowy błąd procesu można zapisać w pliku za pomocą command 2> logfile.txt.