2008-11-20 24 views
5

Mam test jednostki, który działa dobrze lokalnie, ale po przesłaniu go na serwer Build TeamCity kończy się niepowodzeniem z "Proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces."Określanie, który proces ma blokadę pliku

  1. Przed niczego w teście sprawdzić w ustawieniach czy istnieje plik a jeśli tak, spróbuj go usunąć. To nie z tego samego błędu komunikat jak wyżej
  2. Kiedy wriitng plik , zamykam pisarza następnie dysponowania nim, które uważam, że powinniśmy pozbyć się wszelkich zasobów.

Więc mam kilka zapytań

  1. Czy ktoś miał podobne problemy i udało nam się dostać wokół nich
  2. Jak można dowiedzieć się programticall co proces egoistycznie zablokowany plik !!!

zdrowie

+0

możliwe duplikat [Jak ustalić, który to proces jest gospodarstwo pliku w systemie Windows] (http://stackoverflow.com/questions/225802/how-to-determine-which-process-is- trzymając-plik-w-oknie) –

Odpowiedz

1

Sysinternals FileMon ma pewne informacje (przewiń w dół) o tym, jak to się stało w starszych wersjach systemu Windows.

Process monitor to ich najnowsza wersja, ale nie daje wielu wskazówek, jak to zrobić. Istnieje jednak kilka artykułów z bazy wiedzy, które są tam połączone, co powinno doprowadzić do tych informacji.

-Adam

4

Sysinternals handle.exe jest pierwszym krokiem. Lub użyj Process Explorer 's Find Handle or DLL. Zawsze bezpieczniej jest zabić proces niż zamknąć uchwyt.

Programowo chodzi o napisanie sterownika jądra, który odczytuje tabelę uchwytów systemu Windows.

Powiązane problemy