W jaki sposób mogę monitorować w czasie rzeczywistym to, jakie operacje na plikach wykonuje dany proces (znam jego PID)?
Jest coś takiego jak lsof, ale to mi wali wszystkie używane pliki jak leci i ma tylko opcję odświeżania co ileśtam czasu. Jest też strace, ale nie mam pojęcia jak zrobić, żeby mi pluło tym, co chcę i się samo aktualizowało.
Chciałbym log w stylu:
20:23 - proces 1234 otworzył plik /home/jezor/gayporn.mp4
20:23 - proces 1234 zapisał do pliku /home/jezor/gayporn.mp4
20:25 - proces 1234 zamknął plik /home/jezor/gayporn.mp4
I żeby właśnie przy każdym nowym otwarciu / edycji / zamknięciu pliku były dopisywane dane.
@Jezor: jak masz określone foldery które są istotne to zobacz inotify, jak nie to jeszcze pomyślę
Edit: pomyślałem. Zobacz strace, chyba opcja -p.
http://superuser.com/questions/348738/continuously-monitor-files-opened-accessed-by-a-process
Musisz sam doczytać bo mi z telefonu nie wygodnie :-P
Jest też strace, ale nie mam pojęcia jak zrobić, żeby mi pluło tym, co chcę i się samo aktualizowało.
@szarak: strace przetestowałem, aktualizuje się samo co pyknięcie zegara, więc kurewsko szybko, ale! Wali takim syfem, że tego się czytać nie da, a dodatkowo tak szybko, że jeśli program otworzy plik i zaraz go zamknie to nie ma szans się czegokolwiek dopatrzeć...
@Jezor: no to szukaj jak mu filtrować wyniki przełącznikami, filtruj sam, grepuj, itd. Nikt nie mówi że będzie łatwo.
Analizujesz zachowanie procesu i oczekujesz że będzie prosto jakbyś pozycje na paragonie przeglądał? ;)
@Jezor: jejku.... przecież mówię: ociosaj sobie go. Nie wiem jakich cudów oczekiwałeś... Chcesz monitorować zachowanie procesu, a przeszkadza Ci konieczność przefiltrowania wyjścia narzędzia... pls :>
@szarak: tu nie chodzi tyle o filtrowanie, co o hm, historię zmian :P
Nie chcę mieć ciągle wyświetlanego tego samego bo to bez sensu. W milionie wpisów nie znajdę zbyt szybko że zostało cos innego otwarte / zamknięte. Odpalałeś to w ogóle? :D
@Jezor: jasne. Nie potrafisz napisać klarownie czego oczekujesz to nie licz na to że będzie program który dokładnie to zrobi ;)
Chciałbym log w stylu:
20:23 - proces 1234 otworzył plik /home/jezor/gayporn.mp4
20:23 - proces 1234 zapisał do pliku /home/jezor/gayporn.mp4
20:25 - proces 1234 zamknął plik /home/jezor/gayporn.mp4
I żeby właśnie przy każdym nowym otwarciu / edycji / zamknięciu pliku były dopisywane dane.
@szarak: ale napisalem ;_;
@Jezor: ale Ty leniwy jesteś ;P Może zbadaj to:
https://github.com/ole-tange/tangetools/tree/master/tracefile
https://unix.stackexchange.com/questions/18844/list-the-files-accessed-by-a-program (pierwsza odpowiedź)
btw. teraz się zorientowałem że nie doczytałem oryginalnego posta :D
@szarak: no i proszę, jak chcesz to potrafisz :D
To jest zajebiste i robi dokładnie co chciałem! Niestety nie działa z aplikacjami odpalonymi przez wine :(
@Jezor: może ciężko wyśledzić, bo wine odpala dodatkowe procesy i cholera wie co w którym?
Potrzebowałeś tego, bo zgubiłeś plik? :D