OS X bestimmt, welche Anwendung auf eine Festplatte zugreift und das Auswerfen verhindert?

15

Ich verwende OS X 10.6 Server und möchte mein externes Laufwerk auswerfen, damit ich einige Festplattenwartungen durchführen kann, z. B. das Defragmentieren. Wenn ich jedoch versuche, das Laufwerk auszuwerfen, wird nicht angezeigt, dass die Festplatte verwendet wird. Ich kann das Auswerfen erzwingen, aber das kann zu Beschädigungen führen ... Wie kann ich feststellen, welche Anwendung das Laufwerk verwendet und es offen hält?

Jamone
quelle

Antworten:

23

Versuchen Sie sudo lsof | grep /Volumes/External, wo "Extern" der Name Ihres externen Laufwerks wäre. Hosten Sie die Daten von Diensten von diesem Laufwerk?

churnd
quelle
Nur einige freigegebene Ordner, aber ich weiß, dass alle Clients im Netzwerk diese Freigaben und den gesamten Server ausgeworfen haben.
Jamone
Ist nicht immer wichtig. Manchmal lassen die AFP / SMB / NFS / FTP / etc-Prozesse offene Dateien, nur weil der Dienst ausgeführt wird. Am besten versuchen Sie, den Dienst zu beenden und dann auszuwerfen. Das wäre besser, als den obigen Befehl zusammen mit zu verwenden kill -9. Sie können einen Dienst über die Befehlszeile stoppen sudo serveradmin stop smbund dann starten sudo serveradmin start smb, indem "smb" der Name des Dienstes ist. sudo serveradmin listwird sie alle zeigen.
Churnd
Normalerweise ist es Spotlight-Indizierung!
JGFMK
5

lsof - Liste der geöffneten Dateien

Geben Sie auf Ihrer Eingabeaufforderung einfach ein sudo lsof, um eine Liste der geöffneten Dateien sowie deren Speicherort und Prozess-ID anzuzeigen , damit Sie den Prozess beenden können.

Um es ein wenig zu verfeinern, könnten Sie verwenden sudo lsof | grep hard drive name.

Sobald Sie die PID haben sudo kill -9 pid, um den ungezogenen Prozess zu beenden.

Jon Rhoades
quelle