5
A
回答
10
你必須找出哪個程序正在訪問該文件。你忘了退出你自己的應用程序,還是有其他訪問文件?
您可以編寫C#代碼來殺死進程,但更好的方法是找出爲什麼它已被另一進程使用。此外
Process[] ps = Process.GetProcessesByName("nameOfProcess");
foreach (Process p in ps)
p.Kill();
,如@Darin筆記,你可以看看這個其他SO線程:
要殺死名nameOfProcess所有過程在C#How do I find out which process is locking a file using .NET?
Sysinternals的工具在@Darin中提到的評論發現在http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
2
過程監視器將工作,但Process Explorer是一個更好的應用程序 這個。它也來自現在由微軟擁有的Sysinternals。以管理員身份運行Process Explorer,然後單擊搜索按鈕。這將顯示正在使用該文件的應用程序和線程。
+0
我第二個這個答案。這在我的調試中幫了我很大忙。 – Joel 2014-09-17 14:52:37
相關問題
- 1. 在C中殺死一個進程#
- 2. 如何殺死一個進程?
- 3. 如何殺死一個web進程
- 4. 殺死一個mpi進程
- 5. 如何殺死一個C#線程?
- 6. 殺死進程殺死其他進程
- 7. C#如何殺死startet進程?
- 8. 如何通過C#殺死mysql進程
- 9. 殺死進程Excel C#
- 10. 如何殺死nohup進程?
- 11. 殺死進程
- 12. 殺死進程
- 13. 如何殺死STIME的一個Linux進程(dangling svnserve進程)
- 14. 如何從其他進程中殺死一個進程?
- 15. 殺死不會殺死進程
- 16. 殺死一個懸掛的子進程
- 17. 用PyInstaller殺死一個子進程
- 18. 通過sshj殺死一個進程
- 19. 在linux中殺死一個進程
- 20. 輕輕地殺死一個進程
- 21. 殺死mysqld進程
- 22. SIGKILL殺死進程
- 23. VB.NET - 殺死進程
- 24. 我將如何去殺死一個進程/應用程序?
- 25. 如何殺死一個線程?
- 26. 殺死一個Word.Basic應用程序,而不會殺死Word.Application主進程
- 27. 殺死一個線程
- 28. 如何殺死所有異步進程
- 29. 如何檢測殺死進程事件
- 30. 如何殺死spacemacs中的進程
要首先了解誰鎖定了您的文件,您應該從sysinternals中查看ProcessMonitor。只需點擊工具欄中的Spyglass並輸入文件的名稱即可。你會得到一個列表,這個文件有一個打開的句柄。 – Oliver 2009-10-29 08:25:14