Zauważyłem, że czasami Mail.app blokuje pliki. Sama blokada umożliwia przenoszenie plików do Kosza, ale nie pozwala na opróżnianie Kosza. (Być może w tym przypadku Kosz powinien zostać przemianowany na Thrash)
Czy istnieje sposób (za pomocą polecenia terminala lub aplikacji), aby sprawdzić, która aplikacja blokuje plik i / lub odblokowuje plik bez zamykania aplikacji?
Odpowiedzi:
Jak mówi Rabarberski,
lsof
można go użyć do znalezienia dowolnego procesu, w którym plik jest otwarty. Zauważ, że musisz uruchomić program jako root, tzn. Używającsudo
i że możesz podać nazwę ścieżki do pliku, który cię interesuje, jako argument, więc nie ma potrzebygrep
wywoływania w podpowiedzi wskazanej przez Rabarberskiego. Ponadto, jeśli proces blokuje plik, powinieneś być w stanie to zobaczyć w kolumnie FD nalsof
wyjściu. Szczegółowe informacje można znaleźć na stronie podręcznika. (Kiedy uruchamiamsudo lsof
na moim komputerze, nie widzę zablokowanych plików, więc nie będę gwarantować, że działa to na Macu. Wsudo
końcu jest to ogólny program unixowy i możliwe, że niektóre funkcje nie działają na OSX.)Nie można odblokować pliku bez zabicia procesu blokującego. Ale możesz go usunąć za pomocą
rm
wiersza poleceń.źródło
sudo
końcu…”,lsof
chciałem o tym wspomnieć. Nie zamierzam go edytować - jest to zbyt małe, aby uzasadnić wypukłość na pierwszej stronie.Jak zauważyli inni, lsof załatwia sprawę. Aby zadanie było jeszcze prostsze, proponuję (bezpłatną) aplikację „Co mnie trzyma” (URL: http://www.hamsoftengineering.com/products/wkm/wkm.html ), która jest w zasadzie nakładką na lsof i ma kilka opcji oszczędzających czas.
źródło
Najwyraźniej
lsof
można użyć do tego polecenia terminalu („lista otwartych plików”): http://hints.macworld.com/article.php?story=20040121001144687źródło