как узнать в каком приложении запущен файл

Как узнать в каком приложении запущен файл

Один из них такой: А вот как определить процесс, если этим процессом является драйвер?

В таких случаях Unlocer пишет, что процесс не блокирован, но удалить, переместить, переименовать файл можно только при перезагрузке.

NirSoft OpenedFilesView кроме того, что это процесс системный, тоже не пишет ничего.

Ни Process Explorer, ни Process Monitor, ни другие утилиты не пишут каким процессом занят файл, если этим процессом является какой-нибудь драйвер.

В папке C:\Windows\Temp у меня появился фай TmpFile1.

Разер файла 8 409 088 Байт (ровно 16424 кластера).

Удалить, переместить, переименовать его ничем не возможно.

Определить, какой процесс его создает, тоже не получается.

«Методом тыка» и путем «гугления» проблемы, путем проб и ошибок, было найдено, что этим процессом является драйвер.

Короче, с какой-то программой, даже не знаю какой, установился алладиновский драйвер защиты Driver Sentinel HASP.

Если проделать операции Диспетчер устройств >>> Вид >>> Показать скрытые устройства >>> Драйверы несамонастраиваемых устройств >>> aksdf >>> Свойства >>> Драйвер >>> Остановить, то файл C:\Windows\Temp\TmpFile1 сразу же исчезает, но при включении драйвера он сразу же появляется опять.

Так же, когда у меня стоял Kaspersky Cristal, какой-то один из его драйверов так же создавал в папке C:\Windows\Temp какие-то файлы, которые так же удалить, переместить, переименовать было невозможно, которые так же сами исчезали после отключения драйвера и появлялись после включения.

Вот и основной вопрос: «Как программно, не «методом тыка», не «гуглением», а средствами Windows, определить, каким процессом занят файл, если этим процессом является драйвер?»

Всего записей: 125 | Зарегистр. 08-01-2013 | Отправлено: 15:40 29-11-2016 | Исправлено: aleksey1965, 15:41 29-11-2016
aleksey1965

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вроде нашел путь, как это сделать, с помощью Вадима Стеркина и его советов:

Драйвер – это системный процесс, и сторонних утилит, способных копаться в системных процессах, практически нет. Помочь моли бы Microsoft (а оно ей надо) или Марк Руссинович, и его утилита Process Monitor.

Если коротко, то методика такая:
— Ставим фильтр на путь: C:\Windows\Temp\TmpFile1
— Ставим галочку Enable Boot Logging (Включить лог загрузки)
— Указываем путь сохранения лога
— Перезагружаемся
— Исследуем загрузочный лог

Источник

Как узнать в какой программе открыта папка или файл?

Как узнать в каком процессе используется файл?

Чтобы узнать, какой процесс использует определенный файл, выполните следующие действия:

Как понять в какой программе открыта папка?

Определить её поможет монитор ресурсов.

Как определить где открыт файл?

Как найти файл который открыт в другой программе

Первым делом посмотрите на панели задач и в трее. Если приложение, в котором открыт ваш файл, не обнаружите – нажмите одновременно три клавиши «Ctrl+Shift+Esc» (запустится диспетчер задач).

Как удалить файл который открыт в проводнике?

Вот как закрыть файл в проводнике:

Как удалить папку если она используется другой программой?

Как удалить папку, если она не удаляется

Как удалить файл который используется другой программой?

Нажмите Esc+Shift+Ctrl, чтобы открыть диспетчер задач. В диспетчере задач определите, что за процесс может быть связан с вашим удаляемым файлом или папкой. Нажмите по нему правой кнопкой мыши и выберите «Снять задачу». После этого попробуйте удалить файл, который был занят программой.

Как узнать у кого открыт файл?

В иерархии оснастки переходим /Управление компьютером/Служебные программы/Общие папки/Открытые файлы. В правой части оснастки появится список открытых файлов. Здесь можно увидеть имя пользователя открывшего файл, количество блокировок и режим доступа к файлу.

Что значит файл открыт в system?

Сигнал о том, что проблемный файл открыт в system означает, что в Диспетчере задач мы его не сможем увидеть, поскольку он открыт посредством служебной программы, а такие файлы не отражаются, их не видно. Чтобы удалить такой файл, лучше всего использовать Daemon Tools.

Как удалить файл если он используется?

Удалите файл. Если файл занят процессом explorer.exe, то перед тем, как снять задачу в диспетчере задач, запустите командную строку от имени администратора и, уже после того, как снимите задачу, используйте в командной строке команду del полный_путь_к_файлу, чтобы удалить его.

Как выйти из проводника?

Классический метод закрытия Проводника: Вызовите Диспетчер задач, нажав Ctrl+Shift+Esc, а потом кликните правой кнопкой мыши на explorer.exe в списке процессов, и выберите «Завершить процесс».

Как удалить Oldnewexplorer DLL?

dll, Вы можете искать помощи на сайте Skinpacks, или удалить программу (Пуск > Панель управления > Установка и удаление программ > SkinPack Alienred или SkinPack AndroidM). Если OldNewExplorer32. dll находится в подпапках «C:Program Files», тогда рейтинг надежности 65% опасности.

Как удалить Неудаляемую папку на Windows 10?

Удаление неудаляемых папок с помощью программы — Unlocker

Источник

Как пользоваться lsof для просмотра открытых файлов (в Linux всё является файлами)

Если в Linux все является файлом, то в этой операционной системе должно быть нечто большее, чем просто файлы на вашем жёстком диске. Из этой обучающей статьи вы узнаете, как использовать lsof для просмотра всех других устройств и процессов, которые обрабатываются как файлы.

В Linux всё является файлами

Часто цитируемая фраза о том, что всё в Linux является файлом, является своего рода правдой. Файл представляет собой набор байтов. Программы и устройства (принтер, экран, клавиатура, мышь, терминал, сетевая карта) могут генерировать или принимать потоки байт, и в этом качестве они сами проявляются как файлы. Многие системные компоненты, такие как клавиатуры, сокеты, принтеры и коммуникационные процессы, принимают или генерируют потоки байтов. Поскольку они принимают, генерируют или принимают и генерируют потоки байтов, эти устройства могут обрабатываться — на очень низком уровне — как файлы. Кроме обычных файлов, файлами также являются директории (папки), сетевые сокеты (подключения по сети), устройства (диски, терминалы, клавиатура, мышь и прочее — это всё файлы), pipe (технология обмена данными между процессами).

Эта концепция устройства упростила реализацию операционной системы Unix. Это означало, что небольшой набор обработчиков, инструментов и API-интерфейсов может быть создан для обработки широкого спектра различных ресурсов.

Файлы данных и программ, которые находятся на вашем жёстком диске, являются обычными файлами файловой системы. Мы можем использовать команду ls, чтобы вывести их и узнать некоторые детали о них. Но как мы узнаем обо всех других процессах и устройствах, которые рассматриваются как файлы? Для этого используется команда lsof. Она выводит списки открытых файлов в системе. То есть она перечисляет всё, что обрабатывается, как если бы это был файл.

Команда lsof

lsof означает ‘LiSt Open Files’ (список открытых файлов). Эта программа используется чтобы узнать, какие файлы открыты и каким процессом.

Для чего нужно знать, какие файлы открыты? Эта информация поможет узнать о многом происходящем в системе, об устройстве и работе Linux, а также решить проблемы, например, когда вы не можете размонтировать диск из-за того, что устройство используется, но вы не можете найти, какой именно программой.

Многие процессы или устройства, о которых lsof может сообщать, принадлежат root или были запущены пользователем root, поэтому вам нужно будет использовать команду sudo с lsof.

И поскольку этот список будет очень длинным, то можно передать его команде less:

До появления вывода lsof, пользователи могут увидеть предупреждающее сообщение в окне терминала.

lsof пытается обработать все смонтированные файловые системы. Это предупреждающее сообщение появляется из-за того, что lsof обнаружил виртуальную файловую систему GNOME (GVFS). Это особый случай файловой системы в пространстве пользователя (FUSE). Он действует как мост между GNOME, его API и ядром. Никто, даже root, не может получить доступ к одной из этих файловых систем, кроме владельца, который её смонтировал (в данном случае, текущий пользователь). Вы можете игнорировать это предупреждение. Если же вы хотите получить доступ к данной файловой системе, то запустите lsof без sudo.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Значение столбцов lsof

Типов открытых файлов много, и далеко не все столбцы применимы к каждому из них. Поэтому если для каких-то файлов некоторые столбцы не заполнены данными, то это нормально.

Колонка FD

Дескриптор файла в столбце FD может быть одним из многих вариантов; на странице руководства они перечислены все:

Запись в столбце FD может состоять из трёх частей: дескриптор файла, символ режима и символ блокировки.

Некоторые популярные файловые дескрипторы:

Символ режима может быть одним из следующих:

Символ блокировки может быть одним из:

Колонка TYPE

В столбце TYPE может отображаться более 70 записей. Далее перечислены только некоторые из часто встречающихся записей:

Колонка NAME

В этом поле может быть:

Как видеть процессы, которые открыли файл

Чтобы увидеть процессы, открывшие определённый файл, укажите имя файла в качестве параметра для lsof. Например, чтобы увидеть процессы, которые открыли файл /dev/sda, используйте эту команду:

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как вы можете знать (а если не знаете, то смотрите статью «Структура директорий Linux. Важные файлы Linux»), файл /dev/sda является жёстким диском. Приведённая выше команда поможет найти процесс, который не даёт отмонтировать (отсоединить) диск.

Можно проверить, какой командой открыты обычные файлы, например:

Видно, что файл открыт пользователем mial, это обычный файл (REG) и что он открыт приложением soffice.b (на самом деле приложение soffice.bin, но его имя здесь не целиком).

Чтобы вывести полное имя, используйте опцию +c, например:

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Аналогично можно проверить, открыты (запущены) ли исполнимые файлы, например, для проверки, запущен ли файл /bin/bash:

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как посмотреть все файлы, открытые в определённом каталоге

Чтобы увидеть файлы, которые были открыты из каталога, и процессы, которые их открыли, передайте каталог в lsof в качестве параметра. Для этого используйте опцию +D КАТАЛОГ.

Чтобы увидеть все файлы, которые открыты в каталоге /var/log/, используйте эту команду:

lsof отвечает списком всех открытых файлов в этом каталоге.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Чтобы увидеть все файлы, которые были открыты из каталога /home, используйте следующую команду:

Файлы, которые были открыты из каталога /home. Обратите внимание, что в некоторых столбцах данные поместились не полностью.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как показать только обычные файлы

Чтобы показать обычные файлы и директории и исключить все другие виды файлов (устройства, сокеты и т. д.) выполните следующую команду:

Как увидеть файлы, которые открыты указанной программой или командой

В столбце COMMAND указано имя исполнимого файла, который открыл файл. Чтобы увидеть файлы, которые были открыты определенным процессом, используйте параметр -c КОМАНДА. Обратите внимание, что вы можете указать более одного поискового запроса для lsof одновременно.

lsof выведет список файлов, которые были открыты любым из процессов, представленных в командной строке.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как посмотреть файлы, открытые определённым пользователем

Чтобы ограничить отображение файлами, которые были открыты определенным пользователем, используйте параметр -u ПОЛЬЗОВАТЕЛЬ. В этом примере мы рассмотрим файлы, которые были открыты процессами, которые принадлежат или запускаются от имени mial.

Будут перечисленные все файлы, которые были открыты от имени пользователя mial. Они включают в себя файлы, которые были открыты, например, средой рабочего стола, или просто в результате входа mial.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как исключить файлы, открытые определённым пользователем

Чтобы исключить файлы, которые были открыты пользователем, используйте оператор ^. Исключение пользователей из списка облегчает поиск интересующей вас информации. Вы должны использовать опцию -u, как и раньше, и добавить символ ^ в начале имени пользователя.

Отрицание (поиск любых значений, кроме приведённых) можно применять с любыми опциями, для которых можно указать какое-либо значение, то есть с именами пользователей, именами команд, идентификаторами процессов, папками и т.д.

Например, чтобы показать все файлы, которые были открыты в директории /home, но которые открыты процессами, не принадлежащими пользователю mial:

Как найти файлы, которые открыты указанным процессом

Чтобы вывести список файлов, которые были открыты определенным процессом, используйте параметр -p ПРОЦЕСС и укажите идентификатор процесса в качестве параметра.

Все файлы, которые были открыты по указанному вами идентификатору процесса, перечислены для вас.

Как узнать идентификаторы процессов, которые открыли файл

Чтобы увидеть идентификаторы процессов, которые открыли конкретный файл, используйте параметр -t ФАЙЛ.

Идентификаторы процесса, открывших файл, отображаются в виде простого списка.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Как вывести размер открытых файлов

Для показа размера используйте опцию -s:

Для сортировки по размеру обычных файлов выполните следующую команду:

Как узнать какие процессы и сколько потребляют памяти в области Buff/Cache

Buffer/cache используются виртуальными файловыми системами, а также для оптимизации чтения/записи на диск, то есть файлы, которые уже были прочитаны с диска, размещены там для ускоренного доступа.

Следующая команда сортирует открытые файлы по размеру — именно они и занимают место в buffer/cache:

Buffer/cache потребляет не столько ядро, сколько всякие браузеры, офисные программы, графическое окружение, программы, имеющие большие логи и т. п. То есть все программы, которые открывают много файлов и/или большие файлы и держат их открытыми.

Как комбинировать условия поиска lsof (логические И и ИЛИ)

Давайте выведем файлы, которые были открыты пользователем mial и которые связаны с процессами systemd. Мы знаем, что можем предоставить более одного элемента поиска в командной строке, поэтому это должно быть легко.

Теперь давайте посмотрим на вывод lsof. Это не выглядит правильно; в выводе есть записи, которые были запущены пользователем root.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Это не то что мы ожидали. Что произошло?

Если вы предоставите несколько поисковых терминов, lsof вернёт любой файл, который соответствует первому поисковому запросу или второму поисковому запросу и так далее. Другими словами, она выполняет поиск ИЛИ.

Чтобы lsof выполняла поиск И, используйте опцию -a. Это означает, что будут перечислены только те файлы, которые соответствуют первому поисковому запросу, второму поисковому запросу и т. д.

Давайте попробуем это снова и используем опцию -a.

Теперь каждый файл в списке — это файл, который был открыт пользователем mial или от его имени и связан с systemd.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Обратите внимание, что два условия, одно из которых содержит отрицание (^) обрабатываются как логическое И:

Но если требуется логическое И, то лучше взять за правило всегда использовать опцию -a, поскольку так команда становиться более однозначной:

и в случае добавления третьего условия поиска она будет работать как ожидается:

Автоматическое обновление выводимой информации lsof

Чтобы перевести lsof в режим повтора, мы можем использовать опцию +r СЕКУНДЫ или её вариант -r СЕКУНДЫ. Опцию повторения можно применить двумя способами: +r или -r. Мы также должны добавить количество секунд, которое мы хотим, чтобы lsof ожидал перед обновлением дисплея.

Использование опции повтора в любом формате заставляет lsof отображать результаты как обычно, но добавляет пунктирную линию внизу экрана. Программа ожидает количество секунд, указанное в командной строке, а затем обновляет дисплей новым набором результатов.

С опцией -r это будет продолжаться пока вы не нажмете Ctrl+c. В формате +r программа будет продолжаться до тех пор, пока не будет получен пустой результат, или пока вы не нажмете Ctrl+c.

Обратите внимание на пунктирную линию (=======) внизу списка. Она отделяет каждое новое отображение данных при обновлении вывода.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Отображение файлов, связанных с подключениями к Интернету

Опция -i позволяет просматривать файлы, открытые процессами, связанными с сетевыми и Интернет-соединениями.

Отображаются все файлы, связанные с сетевыми подключениями и подключению к Интернету.

как узнать в каком приложении запущен файл. Смотреть фото как узнать в каком приложении запущен файл. Смотреть картинку как узнать в каком приложении запущен файл. Картинка про как узнать в каком приложении запущен файл. Фото как узнать в каком приложении запущен файл

Если вы не хотите, чтобы цифровые обозначения портов заменялись на имена (например, http вместо 80), то добавьте опцию -P:

Отображение файлов, связанных с подключениями к Интернету, по идентификатору процесса

Чтобы увидеть файлы, открытые подключениями к Интернету, которые связаны с определенным идентификатором процесса, добавьте параметр -p PID и параметр -a.

Здесь мы ищем файлы, открытые через Интернет или сетевое соединение, с помощью процесса с идентификатором 606.

Отображение файлов, связанных с Интернет-подключениями и командами

Мы можем использовать опцию -c КОМАНДА для поиска файлов, открытых определёнными процессами. Чтобы найти файлы, которые были открыты через Интернет или сетевые подключения, связанные с процессом ssh, используйте следующую команду:

Отображение файлов, связанных с Интернет-подключениями и портами

Мы можем сделать lsof отчёт о файлах, которые были открыты через интернет или сетевые подключения на конкретном порту. Для этого мы используем символ «:», за которым следует номер порта.

Здесь мы просим lsof перечислить файлы, которые были открыты сетевым или Интернет-соединением с использованием порта 22.

Как показать сокеты только для определённого протокола

Мы можем попросить lsof показать файлы, которые были открыты процессами, связанными с сетевыми и Интернет-соединениями, которые используют определённый протокол. Мы можем выбрать из TCP, UDP и SMTP. Давайте использовать протокол TCP и посмотрим, что мы получим. Если вас интересуют только сетевые подключения на TCP протоколе или UDP протоколе, то вы можете использовать следующие команды:

Протоколы можно писать как прописными буквами, так и строчными:

Как узнать, какой процесс или служба прослушивают порт

Чтобы узнать, какая программа прослушивает определённый порт, выполните команду вида:

Например, чтобы увидеть процесс, который открыл 80й порт:

Если вы хотите проверить занятость порта на определённом протоколе (TCP или UDP), то укажите интересующий протокол перед номером порта:

Как просмотреть только IPv4 или IPv6 соединения

IPv6 — это шестая, новая версия протокола IP.

Чтобы вывести открытые файлы сетевых соединений только для IPv4 выполните команду:

Чтобы показать открытые файлы только типа IPv6 выполните:

Как просмотреть сетевые соединения в диапазоне портов

Если нужно увидеть все запущенные процессы, которые открыли файлы TCP портов в диапазоне 1-1024, то выполните команду:

Кроме диапазона портов через дефис, можно указать несколько портов или их диапазонов через запятую:

Как увидеть сетевые подключения определённого хоста

У каждого сетевого соединения есть исходный узел и пункт назначения, чтобы увидеть соединения, которые относятся только к определённому хосту, выполните команду вида:

Например, я хочу просмотреть только сетевые соединения для локального компьютера с именем HackWare, тогда команда следующая:

Если я хочу увидеть соединения с сайтом suip.biz, то команда такая:

В качестве хоста можно указывать не только имена сайтов или хостов, но и IP адрес.

Сочетание фильтров сетевых соединений

Можно использовать все фильтры сразу в команде вида:

Как остановить всю активность определённого пользователя

Поиск с использованием регулярных выражений программ, открывших файлы

В фильтрах lsof вы можете использовать регулярные выражения.

В следующем примере будут найдены все файлы, открытые процессом, имя которого состоит ровно из четырёх символов и третьим символом в имени является буква «o».

А этот пример найдёт все файлы, открытые процессом, имя которого состоит ровно из четырёх символов:

Основы команды lsof

Мы рассмотрели только самые популярные примеры использования команды lsof. Огромную документацию по этой программе с описанием всех опций вы найдёте в её справочной странице:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *