Jak śledzić wszystkie pliki, które proces otwiera w trakcie jego trwania


Odpowiedzi:


25

Użycie polecenia strace może być możliwe przy pomocy czegoś takiego:

strace -e trace=open program [arguments]

Spowoduje to wyświetlenie wszystkich plików, do których proces próbował uzyskać dostęp. Można by pomyśleć, że coś takiego strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT'mogłoby poprawić sytuację, ale to też nie jest prawda. Ten ostatni nie wykryje niedokończonych, a następnie wznowi połączenia z open.
facetus

2
Pamiętaj, że potrzebny może być sygnał openat.
merlinND

6

Nie jestem pewien, czy zrozumiałem dokładnie, co chcesz z tym zrobić. Ale czy zastanawiałeś się nad strace? Wyświetla wszystkie wywołania systemowe, w tym pliki.

EDYCJA: Nie zapomnij o opcji -f, która pozwala śledzić rozwidlone procesy.


1
Debugowanie, które pliki konfiguracyjne są odczytywane przez aplikację
Peter Smit
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.