Określ, które pliki są uzyskiwane przez proces


9

Jak mogę znaleźć wszystkie pliki, do których uzyskuje dostęp dany proces?

Używam Ubuntu 9.04.

Odpowiedzi:


11

lsof wyświetli listę otwartych plików i powiązanych identyfikatorów procesów. Wyświetla wszystko, jeśli nie podano żadnych opcji.

Istnieje opcja, -paby wyświetlić listę otwartych plików dla jednego procesu. W przypadku procesu z PID 6714 wyświetli się lista plików otwartych przez ten proces:

    lsof -p 6714

Aby wyświetlić listę tylko zwykłych plików, można użyć grep do filtrowania danych wyjściowych lsof:

    lsof -p 6714 | grep REG

Jeśli musi być bardziej niezawodny niż w przypadku grep, -Fmożna użyć tej opcji, ale staje się ona bardziej złożona. Ze strony man lsof :

Gdy podano opcję -F, lsof tworzy dane wyjściowe, które są odpowiednie do przetwarzania przez inny program - np. Skrypt awk lub Perl lub program C.

To zależy od twoich wymagań.


1
Lubię dodać „-b” do lsof, pójdzie to trochę szybciej. Dodam też 2> / dev / null przed potokiem, aby grep.
kbyrd
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.