OS X określa, która aplikacja uzyskuje dostęp do dysku twardego i zapobiega wysunięciu?


17

Korzystam z systemu OS X 10.6 Server i chcę wysunąć dysk zewnętrzny, aby móc przeprowadzić konserwację dysku, na przykład go uszkodzić. Jednak gdy próbuję wysunąć dysk, nie powiedziano, że dysk jest w użyciu. Mogę wymusić wysunięcie, ale może to spowodować uszkodzenie ... Jak mogę stwierdzić, która aplikacja korzysta z napędu i trzyma go otwartego?

Odpowiedzi:


25

Spróbuj sudo lsof | grep /Volumes/External, gdzie „Zewnętrzny” to nazwa dysku zewnętrznego. Czy udostępniasz dane usług poza tym dyskiem?


Tylko niektóre foldery współdzielone, ale wiem, że wszyscy klienci w sieci wyrzucili te udziały i cały serwer.
jamone

Nie zawsze ma to znaczenie. Czasami procesy AFP / SMB / NFS / FTP / etc pozostawiają otwarte pliki tylko dlatego, że usługa jest uruchomiona. Najlepiej jest spróbować zatrzymać usługę, a następnie wysunąć. To byłoby lepsze niż użycie powyższego polecenia razem z kill -9. Możesz zatrzymać usługę za pomocą wiersza poleceń, używając czegoś takiego sudo serveradmin stop smb, a następnie uruchomić ją sudo serveradmin start smb, gdzie „smb” to nazwa usługi. sudo serveradmin listpokaże je wszystkie.
churnd

Zwykle jest to indeksowanie Spotlight!
JGFMK

5

lsof - lista otwartych plików

Na polecenie promt wystarczy wpisać, sudo lsofaby zobaczyć listę otwartych plików oraz ich lokalizację i identyfikator procesu, abyś mógł zabić proces.

Aby to trochę ulepszyć, możesz użyć sudo lsof | grep hard drive name.

Kiedy będziesz miał pid, sudo kill -9 pidżeby zabić niegrzeczny proces.


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.