Jak przechwycić wyjście najwyższego polecenia w pliku w Linuksie?

Chcę napisać wyjście określonego polecenia „top” do pliku. Zrobiłem kilka googli i dowiedziałem się, że można to zrobić za pomocą następującego polecenia.

top -n 10 -b > top-output.txt

gdzie -n określa liczbę iteracji, a -b jest dla trybu wsadowego. Działa to bardzo dobrze, jeśli pozwala na 10 iteracji. Ale jeśli przeryję działanie polecenia z Ctrl-C, plik wyjściowy wydaje się być pusty.

Nie będę znał liczby iteracji przed rozdaniem, więc muszę go złamać ręcznie. Jak mogę przechwycić dane wyjściowe góry w pliku bez określania iteracji?

Poleceniem, którego próbuję użyć jest dokładnie

top -b | grep init > top-output.txt

i rozbij go, kiedy tylko chcę. Ale to nie działa.

EDYCJA: Aby nadać więcej kontekstu pytaniu, mam kod Java, który wywołuje narzędzie z plikiem wejściowym. Podobnie jak w narzędziu pobiera plik jako dane wejściowe i działa przez pewien czas, a następnie pobiera następny plik i tak dalej. Mam zestaw 100 000 plików, które należy dostarczyć do narzędzia. Teraz próbuję monitorować to konkretne narzędzie (działa jako proces w Linuksie). Nie mogę uchwycić całego „topowego” pliku jako pliku, ponieważ byłby on zbyt wielki z niechcianymi danymi. Jak uchwycić statystyki systemowe tylko tego procesu i zapisać go do pliku za pomocą góry?

questionAnswers(10)

yourAnswerToTheQuestion