Войти

Показать полную графическую версию : [решено] Система говорит, что файл используется. Как узнать каким процессом?


Warwar
22-11-2004, 15:49
если система говорит (при удалении или еще когда), что данный файл используется "кем-то", можно ли (и если можно, что как) узнать, КЕМ ИМЕННО он используется?

Apix
23-11-2004, 00:36
Смотри процессы.

Warwar
23-11-2004, 10:40
круто... ну посмотрел и что?
удалять процессы и смотреть, что получится - это неправильно...
тогда может спросить по-другому...
как посмотреть, какие файлы использует конкретный процесс?

McDAK
23-11-2004, 11:30
Юзай тулзу procexp, взять можно на http://www.sysinternals.com

Новичёк
23-11-2004, 23:52
FileMon... Ссылку не дам, прости :(
Уже старая утилита, но ещё юзается :)
Хотя, пожалуй, procexp - понавороченнее...

McDAK
24-11-2004, 06:12
FileMon там же на http://www.sysinternals.com

Vadikan
24-11-2004, 07:58
Warwar
Вообще-то, у нас есть тема, посвященная проблемам удаления файлов. Рекомендую почитать http://forum.oszone.net/showthread.php?t=6677

Warwar
30-11-2004, 15:58
дело не в удалении... дело в принципе :о)
по-поводу FileMon... юзаю, давно уже... но проблему не решает, поскольку если файл ОТКРЫТ, но ни записи ни чтения не идет, то filemon НИЧЕГО не покажет, так как показывает именно АКТИВНУЮ работу с файлами, а не просто занятость файла как ресурса системы... по по-воду второй проги - посмотрю, не юзал еще... всем спасибо за ответы :о) видимо СРЕДСТВАМИ СИСТЕМЫ то, что мне нужно, сделать нельзя В ПРИНЦИПЕ...

Greyman
05-07-2005, 16:34
Проги по теме:
FreeFile
WhoLockMe
Unlocker
Для последнего создал топик (http://forum.oszone.net/showthread.php?t=51329) в "Новостях ПО". Там по ссылкам можновыйти еще на кучу аналогичных прог...

Fox1988z
08-07-2005, 17:27
Есть такая прога unlocker называется. Качай http://ccollomb.free.fr/unlocker и ставь. В меню появится доп. строчка нажимаеш на нужный файл unlocker - выскачит окошко с названием процесса.

Gennady Zabrodsky
12-08-2009, 04:12
Загрузить тулзу Handle.exe с адреса http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

Потом следущий код будет выдавать процессы которые используют файл

string fileName = @"c:\aaa.doc";// File full path to unlock

Process tool = new Process();
tool.StartInfo.FileName = "handle.exe";
tool.StartInfo.Arguments = fileName;
tool.StartInfo.UseShellExecute = false;
tool.StartInfo.RedirectStandardOutput = true;
tool.Start();
tool.WaitForExit();
string outputTool = tool.StandardOutput.ReadToEnd();

string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";
foreach(Match match in Regex.Matches(outputTool, matchPattern))
{
Process.GetProcessById(int.Parse(match.Value)).Kill();
}

pavlundiy
30-12-2010, 08:55
Спасибо! Unlocker помог! Взял из Total Commander Power User v.50

myhouse_1991
30-12-2010, 11:01
если система говорит (при удалении или еще когда), что данный файл используется "кем-то", можно ли (и если можно, что как) узнать, КЕМ ИМЕННО он используется? »
Можно использовать Process Explorer от SysInternals.
Find>Handle or DLL и вбиваешь имя файла. После чего найдешь Handl'ы, которые используют данный файл и процесс. Мне этот метод нравится тем, что для поиска ему не нужен пользователь с завышенными правами, чем Unlocker, который требует права Debug'ера - не жирно ли такие права требовать?




© OSzone.net 2001-2012