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中殺死一個pthread而不殺死整個進程
- 2. 如何在殺死一個php腳本時殺死passthru進程?
- 3. 在C中殺死一個進程#
- 4. 如何殺死一個進程?
- 5. 如何殺死一個web進程
- 6. 如何殺死一個子進程
- 7. 如何殺死一個服務進程?
- 8. 殺死一個python進程
- 9. 殺死一個mpi進程
- 10. 如何殺死一個C#線程?
- 11. 殺死進程殺死其他進程
- 12. C#如何殺死startet進程?
- 13. 如何通過C#殺死mysql進程
- 14. 殺死進程Excel C#
- 15. c#無法殺死進程
- 16. 如何殺死nohup進程?
- 17. 殺死進程
- 18. 殺死進程
- 19. 殺死進程
- 20. 高級任務殺手如何殺死一個進程?
- 21. 殺死另一個進程的線程
- 22. 如何殺死多個進程
- 23. 如何從其他進程中殺死一個進程?
- 24. 如何殺死STIME的一個Linux進程(dangling svnserve進程)
- 25. 殺死不會殺死進程
- 26. 通過sshj殺死一個進程
- 27. 殺死一個懸掛的子進程
- 28. 在linux中殺死一個進程
- 29. 不會殺死一個進程
- 30. 用taskkill殺死一個進程
要首先了解誰鎖定了您的文件,您應該從sysinternals中查看ProcessMonitor。只需點擊工具欄中的Spyglass並輸入文件的名稱即可。你會得到一個列表,這個文件有一個打開的句柄。 – Oliver 2009-10-29 08:25:14