Как найти имя файла процесса - vicemultiplayer.ru

Как найти имя файла процесса

Полный путь файла — как его можно определить ?

П рограммистам ( да и просто пользователям) подчас бывает необходимо быстро получить полный путь к определенному файлу. Предлагается решение такой задачки следующими двумя возможными приемами.

Самый простой вариант — это подход с использованием Проводника. Здесь поступаем следующим образом — в Проводнике выделяем нужный файл , прижима я клавишу Shift жмем правую кнопку мыши и выбираем в контекстном меню Копировать как путь :

Далее банальным Ctrl+V вставляем полный путь в нужный документ, ну например в текстовом редакторе :

Если у вас в системе проинсталлирован файловый менеджер Total Commander, можно воспользоваться и им для решения нашей проблемки. В одной из панелей становимся на файл , и по меню Инструменты выбираем Копировать полные имена файлов :

При использовании Total Commander’ a ( в отличии от Проводника) полный путь копируется без двойных кавычек.

Кстати сказать, в Total Commander’ е также возможен вариант определения полного пути через контекстное меню, прижимая кнопку Shift :

Всем удачной и грамотной работы на компьютере!

Как узнать PID процесса в Linux

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

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

Как узнать pid процесса Linux

Самый распространённый способ узнать PID Linux — использовать утилиту ps:

ps aux | grep имя_процесса

Кроме нужного нам процесса, утилита также выведет PID для grep, ведь процесс был запущен во время поиска. Чтобы его убрать, добавляем такой фильтр:

ps aux | grep имя_процесса | grep -v grep

Например, узнаём PID всех процессов, имя которых содержит слово «Apache»:

ps aux | grep apache | grep -v grep

Если вам не нужно видеть подробную информацию о процессе, а достаточно только PID, то можно использовать утилиту pgrep:

По умолчанию утилита ищет по командной строке запуска процесса, если нужно искать только по имени процесса, то надо указать опцию -f:

Эта утилита ищет PID конкретного процесса по его имени. Никаких вхождений, имя процесса должно только совпадать с искомым:

С помощью опции -s можно попросить утилиту выводить только один PID:

pidof -s apache2

Утилита pstree позволяет посмотреть список дочерних процессов для определённого процесса, также их pid-идентификаторы. Например, посмотрим дерево процессов Apache:

pstree -p | grep apache2

Каким процессом занят файл Linux

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

С помощью утилиты lsof можно посмотреть, какие процессы используют директорию или файл в данный момент. Например, откроем аудио-файл в плеере totem, а затем посмотрим, какой процесс использует её файл:

В начале строки мы видим название программы, а дальше идёт её PID. Есть ещё одна утилита, которая позволяет выполнить подобную задачу — это fuser:

Здесь будет выведен только файл и PID процесса. После PID идёт одна буква, которая указывает, что делает этот процесс с файлом или папкой:

  • c — текущая директория;
  • r — корневая директория;
  • f — файл открыт для чтения или записи;
  • e — файл выполняется как программа;
  • m — файл подключен в качестве библиотеки.
Читать еще:  Как найти панель закладок в яндексе

Кто использовал файл в Linux

Узнать процесс, который сейчас занимает файл, достаточно просто. Но как узнать, какой процесс обращается к файлу не надолго, например, выполняет его как программу или читает оттуда данные? Эта задача уже труднее, но вполне решаема с помощью подсистемы ядра auditd. В CentOS набор программ для работы с этой подсистемой поставляется по умолчанию, в Ubuntu же его придётся установить командой:

sudo apt install auditd

Теперь создаём правило для мониторинга. Например, отследим, кто запускает утилиту who:

auditctl -w /usr/bin/who -p x -k who_exec

Здесь -w — адрес файла, который мы будем отслеживать, —p — действие, которое нужно отслеживать, —k — произвольное имя для правила. В качестве действия могут использоваться такие варианты:

  • x — выполнение;
  • w — запись;
  • r — чтение;
  • a — изменение атрибутов.

Теперь выполним один раз who и посмотрим, что происходит в логе с помощью команды ausearch:

sudo ausearch -i -k who_exec

Здесь в секции SYSCALL есть PID процесса, под которым была запущена программа, а также PPID — программа, которая запустила нашу who. Копируем этот PID и смотрим информацию о нём с помощью ps:

ps aux | grep 15595

Становиться понятно, что это bash.

Какой процесс использует порт в Linux

Иногда необходимо узнать PID Linux-программы, которая использует сетевой порт, например 80. Для этого можно использовать утилиту ss:

sudo ss -lptn ‘sport = :80’

Мы видим, что это несколько процессов Apache. Использовав опцию dport, можно узнать, какой процесс отправляет данные на указанный порт:

sudo ss -lptn ‘dport = :80’

В этой статье мы рассмотрели, как узнать PID процесса в Linux по различным условиям: имени или файлу. Как видите, всё достаточно просто, и в считанные минуты можно можно понять, что происходит с вашей операционной системой, и какой процесс за это отвечает.

Как найти вирус в списке процессов Windows

Когда в системе что-то не так или просто хочется проконтролировать эффективность установленного на компьютере антивируса, мы обычно нажимаем три заветные клавиши Ctrl, Alt, Del и запускаем Диспетчер задач, надеясь обнаружить вирус в списке процессов. Но в нем мы видим лишь большое количество работающих на компьютере программ, каждая из которых представлена своим процессом. И где же тут скрывается вирус? Ответить на этот вопрос вам поможет наша сегодняшняя статья

Для того чтобы определить, есть вирус в процессах или его там нет, нужно очень внимательно вглядеться в список процессов. В операционной системе Windows Vista в обязательном порядке нажмите кнопочку «Отображать процессы всех пользователей», иначе вы толком ничего и не увидите. Прежде всего, обратите внимание на описание процесса в столбике «Описание». Если описания нет или оно какое-то «корявенькое», это должно вас насторожить. Ведь разработчики программ имеют привычку подписывать свои творения на понятном русском или английском языках.
Отметив взглядом процессы с подозрительным описанием, обращаем взор на следующий столбик – «Пользователь». Вирусы обычно запускаются от имени пользователя, реже в виде служб и от имени системы — SYSTEM, LOCAL SERVICE или NETWORK SERVICE.

Итак, найдя процесс с подозрительным описанием, запускаемый от имени пользователя или непонятно от чьего имени, щелкните нему правой кнопкой мышки и в появившемся контекстном меню выберите пункт «Свойства». Откроется окошко со свойствами программы, которая запустила данный процесс. Особое внимание обратите на вкладку «Подробно», где указана информация о разработчике, версии файла и его описание, а также на пункт «Размещение» вкладки «Общие» — здесь указан путь к запущенной программе.

Читать еще:  Как найти вирус в реестре

Если путь «Размещение» ведет в каталог Temp, Temporary Internet Files или еще в какое-либо подозрительное место (например, в папку некой программы каталога Program Files, но вы уверены, что такую программу вы не устанавливали), то, ВОЗМОЖНО, данный процесс принадлежит вирусу. Но все это лишь наши догадки, за подробной информацией, конечно же, лучше обратиться к интернету. Неплохие списки процессов есть на сайтах what-process.com http://www.tasklist.org и http://www.processlist.com . Если после всех поисков ваши опасения на счет подозрительного процесса подтвердятся, можете радоваться – на вашем компьютере поселился вирус, троян или другой зловред, которого нужно срочно ликвидировать.

Но окошко со свойствами запустившего процесс файла из Диспетчера задач может и не открыться. Поэтому помимо стандартных средств Windows нужно пользоваться различными полезными утилитами, способными выдать максимум информации о подозрительном процессе. Одну из таких программ – Starter – мы уже рассматривали (http://www.yachaynik.ru/content/view/88/).

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

Таким образом, нет нужды копаться в свойствах файла, запустившего процесс – всё и так, как на ладони. Тем не менее, это не мешает щелкнуть по подозрительному процессу правой кнопкой мышки и выбрать «Свойства», чтобы получить доскональные сведения о файле процесса в отдельном окошке.

Чтобы попасть в папку программы, который принадлежит процесс, щелкните по названию процесса правой кнопкой мыши и выберите «Проводник в папку процесса».

Но самая удобная опция в Starter – возможность начать поиск информации о процессе прямо из окна программы. Для этого щелкните правой кнопкой мышки по процессу и выберите «Искать в Интернет».

После того, как вы получите полную информацию о файле, запустившем процесс, его разработчике, назначении и мнение о процессе в сети интернет, сможете достаточно точно определить – вирус перед вами или мирная программа-трудяга. Здесь действует тот же принцип, что и в Диспетчере задач. Подозрительны те процессы и модули процессов, для которых не указан разработчик, в описании которых ничего нет либо написано что-то невнятное, процесс или задействованные им модули запускаются из подозрительной папки. Например, Temp, Temporary Internet Files или из папки в Program Files, но вы точно помните, что указанную там программу вы не устанавливали. И, наконец, если в интернете четко сказано, что данный процесс принадлежит вирусу, радуйтесь – зловреду не удалось спрятаться от вас!

Одно из самых распространенных заблуждений начинающих чайников касается процесса svchost.exe. Пишется он именно так и никак иначе: svshost.exe, scvhost.exe, cvshost.exe и другие вариации на эту тему – вирусы, маскирующиеся под хороший процесс, который, кстати, принадлежит службам Windows. Точнее, один процесс svchost.exe может запускать сразу несколько системных служб. Поскольку служб у операционной системы много и все они нужны ей, процессов svchost.exe тоже много.

В Windows XP процессов svchost.exe должно быть не более шести. Пять процессов svchost.exe – нормально, а вот уже семь – стопроцентная гарантия, что на вашем компьютере поселился зловред. В Windows Vista процессов svchost.exe больше шести. У меня, к примеру, их четырнадцать. Но и системных служб в Windows Vista намного больше, чем в предыдущей версии этой ОС.

Узнать, какие именно службы запускаются процессом svchost.exe, вам поможет другая полезная утилита – Process Explorer. Скачать последнюю версию Process Explorer вы можете с официального сайта Microsoft: technet.microsoft.com

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

Читать еще:  Как найти корзину в компьютере

Наведите мышку на имя интересующего вас процесса, и вы увидите путь к файлу, запустившему данный процесс.

А для svchost.exe Process Explorer покажет полный перечень служб, относящихся к выделенному процессу. Один процесс svchost.exe может запускать несколько служб или всего одну.

Чтобы увидеть свойства файла, запустившего процесс, щелкните по интересующему вас процессу правой кнопкой мышки и выберите «Properties» («Свойства»).

Для поиска информации о процессе в интернете при помощи поисковой системы Google, просто щелкните по названию процесса правой кнопкой мыши и выберите «Google».

Как и ранее, подозрения должны вызвать процессы без описания, без наименования разработчика, запускающиеся из временных папок (Temp, Temporary Internet Files) или из папки программы, которую вы не устанавливали, а также идентифицируемые в интернете как вирусы.

И помните, для качественно работы программ Process Explorer и Starter в Windows Vista, их нужно запускать с административными правами: щелкните по исполняемому файлу программы правой кнопкой мышки и выберите «Запуск от имени администратора».

Получить имя файла по процессу

Я пытаюсь получить имя файла текущего процесса.

ie: Если у меня есть файл test.txt, открытый в Notepad, мне нужно получить что-то вроде «c:foldertest.txt»,

Приведенный ниже код возвращает информацию о процессе, включая путь к программному обеспечению. (т.е.: «c:windowssystem32notepad.exe»).

Можно ли использовать этот класс процессов для достижения открытого имени файла/пути, который обрабатывает текущий процесс?

Это может быть возможно, но вам нужно будет по-настоящему взглянуть на какой-нибудь друг, чтобы узнать, какой конкретный файл открыт в «Блокноте».

Вы можете получить много общей информации процесса из.NET, используя класс System.Diagnostics.Process, который довольно мощный.

Например, чтобы все процессы блокнота выполнялись на вашем компьютере.

Вы также можете получить библиотеку, которая делает это тоже:

В С# у меня есть следующее решение. Я написал это, чтобы идентифицировать открытые файлы в Notepad.exe, чтобы вызвать Kill().

Ваше решение будет зависеть от названия окна, в этом случае я мог ожидать, что форматирование в «Блокноте» будет «Untitled — Notepad», «config.ini — Notepad», «readme.txt — Notepad» и т.д., Где я бы разделил на char ‘-‘ и обрезать пробел.

Используйте его так: getFileNameByProcess(«Notepad»);

Примеры имен файлов:

Используя эти имена файлов, вы можете рекурсивно искать каталог, если у вас есть общее представление о том, где оно расположено, однако я бы предостерег от дорогостоящих вызовов

Как найти имя файла CHM в процессах?

У меня есть процедура для поиска процессов Windows за некоторыми файлами.

Он работает нормально, но, когда я пытаюсь найти файл .CHM (скомпилированный файл справки), я не могу найти его, поскольку его имя в процессах — это не имя файла, а оригинальное имя HELP. Увидеть ниже:

    Имя файла = myhelp.chm hh.exe myfile.html , где myfile.html — это не скомпилированный (!) HTML-файл.

Вы можете вызвать CHM по пакетному файлу, как показано выше, дважды щелкнув в проводнике Windows или вызвав справку приложения — всегда тот же результат в диспетчере задач. Снимки показывают (вы знаете) открытый CHM и диспетчер задач. См. Строку заголовка окна CHM «Тестовый файл для справки HTML на мониторах 4K», указанную автором справки. То же самое вы найдете в списке процессов диспетчера задач.

Параметры командной строки -800 или -title — при их использовании — игнорируются, если вы указали какие-либо типы окон по умолчанию в скомпилированном файле справки.

Следующий снимок показывает, что все это скомпилированный справочный модуль (CHM), и вам нужны специальные служебные программы HH, такие как FAR HTML . Текст, который я упомянул выше, скомпилирован как Window Caption главного окна справки. Может быть, интересная информация, но не путь.

Ссылка на основную публикацию
Adblock
detector