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]
slubman
źródło
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.

Antoine Benkemoun
źródło
1
Debugowanie, które pliki konfiguracyjne są odczytywane przez aplikację
Peter Smit