我有一個單元測試,本地工作正常,但當上傳到的TeamCity構建服務器失敗,鎖定「因爲它正在使用由另一個進程的進程無法訪問該文件。」確定哪個進程上的一個文件
- 之前,我在測試 做任何事情,我檢查設置,如果該文件存在 如果是這樣嘗試將其刪除。 這種失敗,出現相同的錯誤 消息如上
- 當wriitng的 文件,我關閉編寫然後 處置它,我認爲應該 擺脫任何資源。
所以我有一對夫婦查詢
- 有沒有人有類似的問題,並設法讓他們周圍
- 如何找出programticall什麼 過程自私鎖定 文件!
乾杯
我有一個單元測試,本地工作正常,但當上傳到的TeamCity構建服務器失敗,鎖定「因爲它正在使用由另一個進程的進程無法訪問該文件。」確定哪個進程上的一個文件
所以我有一對夫婦查詢
乾杯
的Sysinternals FileMon有一些信息(向下滾動)他們是如何做到了這一點在較早的Windows版本。
Process monitor是他們最新的版本,但它並沒有給許多線索,他們是如何做到這一點。雖然有一些知識庫文章鏈接在那裏,但應該引導您閱讀這些信息。
- 亞當
的的Sysinternals handle.exe是第一步。或者使用Process Explorer的Find Handle or DLL
。儘管如此,通過殺死進程比關閉句柄更安全。
編程,這是寫一個內核驅動程序,讀取Windows的句柄表的問題。
ProcessMon(查找)和Unlocker(至少用於解鎖)是有用的。
可能重複[如何確定哪些進程正在舉行Windows中的文件(http://stackoverflow.com/questions/225802/how-to-determine-which-process-is-拿着-A-文件的窗口) – 2012-06-13 11:51:40