Mac OS X에서 파일을 사용하는 프로세스 확인


93

파일을 추적하고 어떤 프로세스가 해당 파일을 터치하고 있는지 확인하고 싶습니다. 가능합니까? 활동 모니터에서 열린 프로세스 목록을 볼 수 있다는 것을 알고 있지만 빨리 볼 수있는 것 같습니다. 그 이유는 프레임 워크를 사용하고 있으며 디버그 버전 대신 프레임 워크의 시스템 버전이 사용되고 있다고 생각하며 어떤 프로세스가이를 건 드리는 지보고 싶습니다.


1
이것은 더 나은에 물었다 사용 문제입니다 슈퍼 사용자
마이클 Dautermann


참고 : ^^^ 매우 관련성이 높고 비슷한 질문입니다-참고로 ;-)
Brad Parks

답변:


90

lsof 열린 파일을 나열하지만 일시적인 터치에는 약간 어색 할 수 있습니다 (예 : lsof가 실행될 때 파일이 열리지 않으면 표시되지 않음).

최선의 방법은 fernLightning의 fseventer.app 일 것 입니다. 이것은 "nagware"이며 실시간으로 fsevents API를 (그래픽으로) 볼 수 있습니다.


39
lsof | grep myfilename나를 위해 일했습니다. 시스템이 사용 중이라고 주장하는 PDF 파일이 휴지통에 있습니다. 이상하게도 lsof에서 사용 Preview중이지만 Preview실행중인 것 같지 않은 것 같지만 (예 : 실행중인 앱을 통해 명령- 탭할 때) Activity Monitor실행중인 것으로 표시됩니다. 바보 미리보기.
Dave Sag 2012-08-15

이것은 임시 파일 (즉, 열려 있지 않고 저장하는 동안 만 만지는 파일)에 적합합니다.
Jeronimo Colon III

나는 오늘 좀비 미리보기 프로세스에 의해 휴지통의 파일이 보관되는 것과 비슷한 문제가 발생했습니다. 미리보기를 열고 다시 종료하면 문제가 해결되었습니다. 미리보기가 종료되었지만 정기적으로 파일을 보관한다고 생각합니다. 저는 이미지를 자르기 위해 미리보기에서 Evernote에서 이미지를 자주 엽니 다. 그리고 대부분의 경우 (더 자주) 미리보기를 종료 한 후에도 Evernote는 이미지가 다른 응용 프로그램에서 여전히 열려 있다고 주장합니다.
Vihung 2014

이것은 내가 지금 겪고있는 문제와 비슷해 보입니다. 아직 해결책이 없습니다. Chrome을 사용하여 파일을 다운로드 한 다음 Finder를 사용하여 다른 폴더로 옮겼습니다. 회색으로 표시되었으므로 lsof를 사용하여 파일을 연 사람 찾기 : Finder. 강제 종료 Finder (자동으로 다시 시작됨)를 시도했습니다. 작동하지 않았습니다. 나는 노트북을 닫아서 모든 것을 잠자 게하고 문제를 해결하기를 희망했다. 그것도 작동하지 않았습니다. lsof는 계속해서 Finder를 범인으로 표시하고 UI에서 계속 회색으로 표시됩니다.
Victor Engel 2014

1
흥미롭게도 파인더 창을 닫는 것이 문제를 해결하는 것 같았습니다. 그러나 새 파인더 창을 열고 동일한 폴더로 이동하면 문제가 남아 있습니다. 오류가있는 파일을 휴지통으로 드래그 한 다음 (파일이 열려있는 프로그램에 부적절한 영향이있을 수 있다는 경고 표시) 파일을 다시 복사하여 문제를 해결했습니다.
Victor Engel

94

간단합니다. sudo fs_usage | grep [path_to_file]


10
이것은 여기에서 가장 좋은 대답입니다.
NuSkooler 2013 년

fs_usage는 루트로 실행해야합니다 ... 최상의 솔루션이 아닙니다.
bontoJR

이것은 fs 이벤트를 보여줍니다? 프로세스에 파일이 열려 있지만 아무것도 수행하지 않는 경우 여기에 아무것도 표시되지 않습니다. 아니면 적어도 내 경험 인 것 같았다. 내 musiclibrary 데이터베이스 파일에 액세스하는 3 개의 프로세스 sudo fs_usage | grep musiclibrary만 표시되었습니다 sudo lsof | grep musiclibrary.
gman

43

하지만 2 분 동안 인터넷 검색을했고 여기 에서 답을 찾았 습니다 .

$ lsof | grep [무엇이든]

[whatever]는 찾고있는 파일 이름으로 대체됩니다. 이를 통해 어떤 프로그램이 휴지통에 버리려는 파일을 필사적으로 잡고 있는지 확인할 수 있습니다. 해당 프로그램을 종료하면 휴지통이 비워집니다.


1
그것의 문제는 내가 lsof를 정말 빨리 입력해야한다는 것입니다. 일시적 일 수 있습니다
JPC 2011

13
lsof -r lsof를 반복 모드로 설정
stoutyhk

파일이 릴리스 된 경우를 대비하여 grep하는 것이 좋습니다.
Ray Hunter

16

더 빠른 방법은 다음과 같습니다.

$ lsof [path_to_file]

이 솔루션은 루트 암호가 필요하지 않으며 다음과 같은 명확한 결과를 제공합니다.

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg

15

또 다른 옵션은 Sloth 입니다. 다른 사람들이 언급 한 LSOF 용 무료 오픈 소스 GUI입니다.


1
공유 해주셔서 감사합니다. 내가 잃어버린 프로세스를 찾는 데 완벽하게 작동했습니다.
RayB

2
이식성이 더 높기 때문에 명령 줄 솔루션을 선호하는 경향이 있지만 이것이 매우 좋은 도구라는 점을 인정해야합니다! 제안 해 주셔서 감사합니다.
양식
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.