Mac 드라이버를 사용 중입니다. lsof에 대해 알아보세요.

Mac 드라이버를 사용 중입니다. lsof에 대해 알아보세요.

외장 하드 드라이브에 대한 권한을 복구하려고 합니다. 휴지통을 넣은 후 "이 유형의 파일을 사용하고 있습니다"라는 메시지가 나와서 비울 수가 없습니다. 드라이브에 대한 권한을 복구하면 이 문제가 해결될 수 있다는 것을 온라인에서 읽었습니다. 재부팅하거나 플러그를 뽑았다가 다시 꽂을 때 드라이브가 사용 중이기 때문에 현재 드라이브를 마운트 해제할 수 없습니다. 나는 lsof이것을 사용하는 것을 보았지만 이것을 이해할 수 없으며 이것이 무엇을 의미하는지에 대한 명확한 지침을 찾을 수 없는 것 같습니다. 출력은 다음과 같습니다.

COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mds      59 root   23r   DIR    1,9     1701    5 /Volumes/SEAGATE
mds      59 root   31r   DIR    1,9     1701    5 /Volumes/SEAGATE 

주문하다

ps ax | egrep '[ /](PID|mds)'

산출

PID   TT  STAT      TIME COMMAND
660   ??  Ss     0:12.49 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
673   ??  Ss     0:08.68 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mds_stores

주문하다

/usr/bin/sudo kill 660

산출

//new line$

주문하다

sudo lsof /dev/disk2s2

산출

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mds     1599 root   11r   DIR    1,8     1764    5 /Volumes/SEAGATE

그와 같은 순서로

bash 파일을 여러 번 연속으로 실행하면 다음을 얻을 수 있습니다.

PID   TT  STAT      TIME COMMAND
1737   ??  Ss     0:00.69 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds

그러나 드라이브는 여전히 mds에 의해 잠겨 있습니다.

예외가 추가되었음을 보여주기 위해 다음 스크린샷을 보여드립니다.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

답변1

진단이 너무 빠르다

드라이브에 대한 권한을 복구하면 이 문제가 해결될 수 있다는 것을 온라인에서 읽었습니다.

불행하게도 귀하의 문제 설명에 따르면 이것은 잘못된 것입니다. 복구해야 할 것은 외부 디스크의 파일 시스템입니다 SEAGATE.

분석하다lsof

명령의 출력은 lsof명령 mds(첫 번째 열)이 실제로 파일 시스템 /volumes/SEAGATE(마지막 열)을 읽고 있음을 나타냅니다. 이 훌륭한 명령에 대해 더 자세히 알아보려면 MacOS X와 ​​함께 제공되는 설명서를 읽어보세요.

man lsof

mdsMacOS X 서버는 모든 파일 시스템 메타데이터에 대한 액세스를 제공하는 역할을 담당합니다. 가장 중요한 고객은 Finder및 입니다 Spotlight.

외부 디스크를 꺼낼 수 없다면 mds아직 읽고 있는 중이므로 합법적인 것입니다. 어쨌든 압축을 풀면 파일 시스템이 확실히 손상될 것입니다.

파일 시스템을 무료로 복구하고 복구하세요

이제 고장났으니 고치는 방법은 다음과 같습니다.

  1. System Preferences > Spotlight 선택 창을 열고 SEAGATE 외장 디스크를 Privacy추가( )하여 인덱스 시도를 중지합니다.+Spotlight

  2. 아직 실행 중인 경우 mds:

    ps ax | egrep '[ /](PID|mds)'
    

    당신은 그것을 죽여야합니다 :

    _pid_to_kill=`ps ax | egrep '[ /]mds' | awk '{print $1}'`
    if [ "${_pid_to_kill}" ] ; then
        echo "${_pid_to_kill}" | while read _pid ; do
            /usr/bin/sudo kill ${_pid}
        done
    fi
    

    lsof이제 디스크 를 사용할 수 있는지 확인하세요 SEAGATE.

    lsof /Volumes/SEAGATE
    

    문제가 없다면 4번으로 가세요.

  3. mds종료 후에도 해제되지 않으면 다른 /Volumes/SEAGATE프로세스가 파일 시스템에 액세스하고 있는 것입니다 mds. (이는 바이러스 백신이나 정크웨어일 수 있습니다. 이는 또 다른 조사 규모입니다.) 이 경우 빠른 경로는 stop launchd-start 입니다 mds.

    다음과 같이 진행해주세요:

    cd /System/Library/LaunchDaemons
    /usr/bin/sudo launchctl unload com.apple.metadata.mds.plist
    

    더 이상 프로세스가 없는지 확인하세요 mds.

    ps ax | egrep '[ /](PID|mds)'
    

    lsof이제 디스크 를 사용할 수 있는지 확인하세요 SEAGATE.

    lsof /Volumes/SEAGATE
    

    괜찮습니다. 4로 가세요.

  4. Disk Utility 디스크를 시작 하고 확인하십시오 SEAGATE. 약간의 수리가 필요할 것 같습니다. 이 경우에는 수리를 하십시오.

    팝업을 띄워서 더 이상 "파일 사용 중" 오류 메시지가 없는지 확인하세요.

  5. System Preferences > Spotlight 선택 창을 열고 SEAGATE 외부 디스크를 Privacy제거( )하여 인덱싱할 수 있습니다.-Spotlight

  6. strep 3을 지나서 launchd부팅을 중지하면 mds이를 다시 활성화해야 합니다(그렇지 않으면 파일 시스템을 관리하는 많은 작업이 실패하게 됩니다).

    다음과 같이 진행해주세요:

    cd /System/Library/LaunchDaemons
    /usr/bin/sudo launchctl load com.apple.metadata.mds.plist
    

답변2

Spotlight가 이 드라이브를 인덱싱하는 것 같습니다. Spotlight가 중단되고 지속적으로 드라이브가 손상되는 문제가 있을 수 있습니다.

mds프로세스가 메타데이터 서버입니다. 이 프로세스를 종료한 다음 이 드라이브를 색인화하지 않도록 스포트라이트에 지시하세요.

스포트라이트 인덱싱을 비활성화하려면 시스템 환경 설정 -> 스포트라이트 -> 개인정보 보호로 이동하여 디스크를 제외 목록에 추가하세요. mds인덱싱을 중지하려면 스포트라이트를 받으려면 종료하고 다시 시작해야 할 수도 있습니다 .

이것이 귀하의 문제인지 확실하지 않지만 좋은 출발점이 될 것입니다.

관련 정보