성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
Digital Stories
방명록
최근 덧글
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
기타
생각의 전환
부모글 보이기/감추기
내용
<div style='display: inline'> <div style='font-family: 맑은 고딕, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>SYSTEM에 의해서 파일이 잠기는 현상</div><br /> <br /> 제목에서 말하는 "SYSTEM"은 실행상태에서 파일을 잠그는 어떤 일반적인 프로세스를 가리키는 것이 아니고, 작업 관리자에서 보면 "System"이라고 지칭되는 프로세스를 말합니다. 즉, 물리적인 EXE 파일도 가지고 있지 않은 그 "System" 프로세스입니다.<br /> <br /> 현상은, 빌드 서버에서 이뤄지는 컴파일이 계속 다음과 같이 실패하는 것으로 시작되었습니다.<br /> <br /> <span style='BACKGROUND-COLOR: #ccffcc; FONT-STYLE: italic; MARGIN: 10px 0px 10px 10px; WIDTH: 800px; FONT-FAMILY: 맑은 고딕, Consolas, Verdana; COLOR: #005555'> CopyFilesToOutputDirectory:<br /> Copying file from "obj\Release\Test.exe" to "D:\...\bin\Test.exe".<br /> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2868,9):<br /> error MSB3021: Unable to copy file "obj\Release\Test.exe" to "D:\...\bin\Test.exe". The process cannot access the file 'D:\...\bin\Test.exe' <b style='COLOR: blue'>because it is being used by another process</b>. <br /> [D:\...\Test.csproj] <br /> Done Building Project "D:\...\Test.csproj" (default targets) -- FAILED.</span><br /><br /> <br /> 위의 경우에는 "Test.exe"라는 파일명이었지만, 재미있게도 이 현상들은 모든 EXE 확장자를 가진 파일에 공통적으로 발생했습니다. 도대체 어떤 프로세스가 잠그고 있는지 확인하기 위해 "<a target='_tab' href='http://lockhunter.com/download.htm'>LockHunter</a>"로 보니, 다음과 같이 "SYSTEM"이었습니다. ^^;<br /> <br /> <img alt='system_lock_my_file_1.png' src='/SysWebRes/bbs/system_lock_my_file_1.png' /><br /> <br /> 세상에... "System"이라니... 절망적이라고 볼 수 있는 상황이었습니다. ^^;<br /> <br /> 그렇다고 해서 아주 잠겨진 것도 아닙니다. 그냥 탐색기에서 메뉴를 이용하여 삭제를 하면 그냥 지워집니다.<br /> <br /> 그런데, 명령행에서 이 작업을 하면 매우 재미있는 결과가 나옵니다. (다음은 3번 연속으로 삭제 시도를 한 것입니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > D:\...\bin>del c:\temp\Test.exe <--- 첫 번째 시도 D:\...\bin>del c:\temp\Test.exe <--- 두 번째 시도 c:\temp\Test.exe Access is denied. D:\...\bin>del c:\temp\Test.exe <--- 세 번째 시도 Could Not Find c:\temp\Test.exe </pre> <br /> ^^; 바이러스일까???? 싶어서 백신으로 검사해 보았으나 아무런 이상이 없었습니다. (물론, 해당 백신 프로그램이 100% 완벽하게 보장할 수는 없지만.)<br /> <br /> 또 하나 재미있는 현상은, 탐색기에서 보안 탭을 눌러보면 다음과 같이 설정을 (일반 사용자 권한으로는) 못한다고 나옵니다.<br /> <br /> <img alt='system_lock_my_file_2.png' src='/SysWebRes/bbs/system_lock_my_file_2.png' /><br /> <br /> 그래서, 부모 폴더로부터 보안을 상속받도록 하기 위해 직접 부모 폴더의 보안을 변경해서 적용하는데 다음과 같이 할 수 없다고 나옵니다.<br /> <br /> <img alt='system_lock_my_file_3.png' src='/SysWebRes/bbs/system_lock_my_file_3.png' /><br /> <br /> 더욱 재미있는 것은, 저런 식으로 속성창을 띄우거나 하면 해당 EXE 파일이 가끔씩 삭제된다는 것입니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 오류 현상이 워낙 설명하기 힘들다 보니, 해결책을 위한 검색도 힘들었습니다. "SYSTEM"이라는 단어와 "lock"이라는 단어를 조합하니 그다지 영양가있는 결과가 나오지 않았는데요. 다행히 다음과 같은 글을 발견할 수 있었습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > What part of Windows 7 randomly locks executable files? ; <a target='_tab' href='http://forums.somethingawful.com/showthread.php?threadid=3313767'>http://forums.somethingawful.com/showthread.php?threadid=3313767</a> </pre> <br /> 해결책은?<br /> "Application Experience" 서비스를 활성화시켜주면 됩니다. 그러고 보니 생각이 나버렸습니다. ^^; 최근 빌드 서버의 메모리 부족으로 어떻게든 가용 메모리를 확보하고자 몇몇 필요없을 것 같은 NT 서비스를 "Disabled" 상태로 바꿔 버렸는데 바로 그것이 문제가 된 것입니다.<br /> <br /> 아무리 그렇다고는 해도... 정말이지 부작용 자체는 지나치게 유별난 것 같습니다. ^^;<br /> </div>
첨부파일
스팸 방지용 인증 번호
2050
(왼쪽의 숫자를 입력해야 합니다.)