- Windows когда был запущен процесс
- Отслеживать, какая программа запускает определенный процесс?
- 3 ответа
- Метод 1 — WMIC
- Метод 2 — Монитор процесса
- 1. Информация о командной строке в диспетчере задач
- 2. Информация о процессе в Process Explorer
- 3. Приостановка процесса
- 4. Пользовательская программа
- 5. Планировщик заданий
- 6. Инфекционная чистка
Windows когда был запущен процесс
В продолжение рубрики «Основы», сегодня речь пойдет о процессах в Windows. Разберем что это такое, на что они влияют и с помощью чего их можно контролировать.
p, blockquote 1,0,0,0,0 —>
В операционной системе «процессом» является экземпляр компьютерной программы, которая запущенна в данный момент. Сама по себе программа является всего лишь набором правил и кода, тогда как процесс является фактическим выполнением всего этого. Задачи одной и той же программы могут выполняться в нескольких процессах и, естественно, каждому активному процессу требуется определенное количество системных ресурсов, и чем больше их одновременно запущенно, тем медленнее начинает работать компьютер.
p, blockquote 2,0,0,0,0 —>
Многих начинающих пользователей мало интересует, какие скрытые процессы у них работают, а между тем, есть смысл поинтересоваться, не работают ли какие-нибудь фоновые программы и сервисы, в которых нет необходимости и которые при этом впустую расходуют процессорное время и память. Но прежде чем отключать ненужные процессы, чтобы освободить ресурсы компьютера, необходимо научиться разбираться в них, чтобы случайно не затронуть, например, процессы относящиеся к системным, многие из которых запускаются во время старта компьютера и критически необходимы для функционирования операционной системы и других приложений.
p, blockquote 3,0,0,0,0 —>
Следует также упомянуть, что большинство вирусов для осложнения обнаружения маскируют себя под какой-либо из процессов. Именно по этим причинам важно уметь их опознавать и идентифицировать.
p, blockquote 4,0,0,0,0 —>
Для того чтобы увидеть весь список активных процессов необходимо открыть «Диспетчер задач» (Task Manager). Сделать это можно тремя распространенными способами:
p, blockquote 5,0,0,0,0 —>
— комбинация клавиш ctrl + alt + del
— комбинация клавиш ctrl +shift + esc
или
— правый клик мыши на панели задач — пункт «Диспетчер задач».
p, blockquote 6,0,0,0,0 —>
Находясь в окне диспетчера, выберите вкладку «Процессы».
p, blockquote 7,0,0,0,0 —>
p, blockquote 8,0,0,0,0 —>
В открывшемся окне находится несколько столбцов с помощью которых мы и сможем получить первую необходимую информацию о том, какие процессы загружены и сколько ресурсов они потребляют.
p, blockquote 9,0,0,0,0 —>
1. Имя образа — название процесса
2. Пользователь — от какой учетной записи запущен процесс
3. ЦП — показывает загрузку процессора в процентном соотношении
4. Память — выделенный объем оперативной памяти
5. Описание — краткое описание того какая программа, служба или сервис инициирует данный процесс.
p, blockquote 10,0,0,0,0 —>
В самом низу окна показывается суммарное количество активных процессов, общая загрузка процессора и оперативной памяти в процентах.
p, blockquote 11,0,1,0,0 —>
Чтобы отключить ненужный процесс, необходимо выбрать один из них и нажать кнопку «Завершить процесс». Однако простое «Завершение процесса» просто отключит его до следующей перезагрузки Windows. Поэтому, если вы хотите навсегда избавиться от него, необходимо отключить его запуск в самом приложении, которое запускает этот процесс, или отключить активирующую его службу, или убрать из автозагрузки, а может и вовсе удалить ненужное приложение.
p, blockquote 12,0,0,0,0 —>
Если для получения информации о процессе вам будет недостаточно стандартных столбцов, можно добавить дополнительные. Для этого в главном меню Диспетчера задач нажмите «Вид» и в открывшемся меню выберите пункт «Выбрать/Добавить столбцы».
p, blockquote 13,0,0,0,0 —>
p, blockquote 14,0,0,0,0 —>
Выставьте галочки напротив пунктов «ИД процесса (PID)» и «Путь к образу». Нажмите «Ок».
p, blockquote 15,0,0,0,0 —>
p, blockquote 16,0,0,0,0 —>
p, blockquote 17,0,0,0,0 —>
Теперь в столбце ««Путь к образу» вы можете видеть расположение файла, который инициирует запущенный процесс.
p, blockquote 18,0,0,0,0 —>
А информация столбца «ИД процесса (PID)» будет полезна, если вам понадобится узнать, например, какая служба запускает процесс «Svchost.exe».
p, blockquote 19,0,0,0,0 —>
Заглянув немного вперед, почему мы выбрали именно его в качестве примера. Это важный системный процесс и нужен для включения и управления различных служб. Путаница у многих пользователей с этим процессом возникает от того что одновременно могут быть запущены несколько его экземпляров, но все от разных служб. И для того чтобы понять, какая именно служба относится к отдельно взятому процессу «Svchost.exe», нам и понадобится его числовой идентификатор — PID. Запомнив число, указанное в этом столбце переходим в «Диспетчере Задач» на вкладку «Службы».
Находясь в этом окне, нажмите левой кнопкой мыщи по заголовку столбца «ИД процесса». Список отсортируется и вы без труда сможете найти процесс по PID, посмотрев его описание в соответствующем столбце.
p, blockquote 20,0,0,0,0 —>
p, blockquote 21,0,0,0,0 —>
Сведений в этом окне конечно очень мало, однако позволяет примерно понять, какая именно служба запустила «Svchost.exe». Мы уже упоминали этот процесс в статье «svchost.exe — вирус или нет?»
p, blockquote 22,0,0,0,0 —>
Еще одна возможность увидеть, где располагается файл инициирующий запуск процесса, это нажать правой кнопкой мыши на одном из них и выбрать пункт «Открыть место хранения файла».
p, blockquote 23,1,0,0,0 —>
p, blockquote 24,0,0,0,0 —>
Со временем вы научитесь легко опознавать любые процессы. Для того, чтобы немного облегчить вам эту задачу, ниже приводим список наиболее типичных программных и системных процессов, большинство из которых по умолчанию запускаются вместе с операционной системой.
p, blockquote 25,0,0,0,0 —>
alg.exe — системный процесс. служба, являющаяся одним из компонентов ОС Windows необходимая для доступа к Интеренету и работы Брандмауэра. Если завершить этот процесс то подключение к интернет оборвется до следующей перезагрузки Windows.
p, blockquote 26,0,0,0,0 —>
ati2evxx.exe — является одним из компонентов драйверов для видеокарт AMD/ATI. Осуществляет работу горячих клавиш. Из-за большой нагрузки на ЦП рекомендуется отключить этот процесс и соответствующую службу.
p, blockquote 27,0,0,0,0 —>
BTTray.exe — компонент драйвера Bluetooth от Widcomm. Необходим для их работы.
p, blockquote 28,0,0,0,0 —>
csrss.exe — системный процесс Windows, обеспечивающий работу компонента «клиент/сервер». Не может быть отключен. Наиболее сильно подвержен заражению вирусов.
p, blockquote 29,0,0,0,0 —>
ctfmon.exe — системный процесс, отвечающий за языковую панель, индикатор, отображающий текущую раскладку клавиатуры и обеспечивающий поддержку других альтернативных методов ввода. Отключение этого процесса есстевстенно не рекомендуется.
p, blockquote 30,0,0,0,0 —>
dwm.exe — системный процесс Windows. Интегрирован в систему, начиная с Windows Vista и 7. Отвечает за графические эфекты рабочего стола, окон и меню, а также нормальное функционирование интерфейса «Aero».
p, blockquote 31,0,0,0,0 —>
explorer.exe — критический необходимый системный процесс проводника Windows, отвечающий за отображение рабочего стола и меню, возможность осуществления навигации пользователя. Не стоит его отключать.
p, blockquote 32,0,0,0,0 —>
issch.exe – процесс, позволяющий выполнять проверку обновлений в фоновом режиме стандартного инсталлятора Windows и других программ.
p, blockquote 33,0,0,0,0 —>
jusched.exe – процесс планировщика для автоматической проверки обновлений Java компонентов . Отключить автоматический запуск этого процесса можно путем выключения автоматической проверки обновлений в настройках Java (Пуск-Панель управления-Java).
p, blockquote 34,0,0,1,0 —>
lsass.exe – необходимый системный процесс, отвечающий за работу локального сервера проверки подлинности, политику безопасности и авторизации пользователей. Взаимодействует с службой winlogon. Не может быть завершен.
p, blockquote 35,0,0,0,0 —>
lsm.exe – системный процесс, управляющий удаленными подключениями к локальной системе. Не нужно отключать.
p, blockquote 36,0,0,0,0 —>
rthdcpl.exe – Процесс, обеспечивающий работу контрольной панели Realtek HD Audio. Иконка для этой программы находится в трее, рядом с часами. Завершение этого процесса может вызвать проблемы работы звука на системе.
p, blockquote 37,0,0,0,0 —>
rundll32.exe — Необходимй системный процесс Windows запускаемый утилитой командной строки. Позволяет запускать функции и команды DLL — файлов.
p, blockquote 38,0,0,0,0 —>
services.exe — важный системный процесс, отвечающий за за управление всеми системными службами.
p, blockquote 39,0,0,0,0 —>
smss.exe — необходимый системный процесс, отвечающий за запуск пользовательского сеанса, а также запуск процессов Winlogon и Csrss.exe. Завершать работу этого процесса нельзя.
p, blockquote 40,0,0,0,0 —>
spoolsv.exe — системный процесс. Отвечает за функции печати (принтер, факс и тд.).
p, blockquote 41,0,0,0,0 —>
svchost.exe — один из главных системных процессов, отвечающий за работу целого ряда сервисов и служб. Одновременно может работать несколько его копий, т.к. каждая содержит различные службы.
p, blockquote 42,0,0,0,0 —>
wininit.exe — необходимый системный процесс WIndows. ВЫполняет в фоновом режиме поддержку работы некоторых наиболее важных системных служб и программ, а также отвечает за своевременный запуск элементов автозагрузки.
p, blockquote 43,0,0,0,0 —>
winlogon.exe — Критически важный системный процесс. Отвечает за вход и выход пользователей в систему. Не может быть завершен.
p, blockquote 44,0,0,0,0 —>
wmiprvse.exe — системный процесс, один из компонентов Инструментария управления Windows. Отключение не рекомендуется.
p, blockquote 45,0,0,0,0 —> p, blockquote 46,0,0,0,1 —>
Отслеживать, какая программа запускает определенный процесс?
Существует определенный процесс, который меня беспокоит, который непрерывно запускается примерно через минуту после его убийства через командную строку или диспетчер задач.
В настоящее время я собираюсь использовать метод Batch-файла каждые 15 секунд, убивая его, если он есть. Тем не менее, я бы очень хотел остановить то, что его запускает.
Существуют ли какие-либо методы для Windows 7 для отслеживания запуска процесса?
3 ответа
Есть вещь, называемая PPID (идентификатор родительского процесса), но относительно «сложно» найти в Windows, потому что это не столбец, отображаемый в диспетчере задач, и я даже не вижу его для столбцов в проводнике процессов.
Два способа сделать это
Оба эти метода довольно быстрые
Метод 1 — WMIC
И это делает остальную часть этого довольно простого
Остальное довольно очевидно.
Итак, давайте предположим, что вы хотите найти, кто запустил calc.exe
и calc.exe вы видите из диспетчера задач, это PID 7384
WMIC показывает ассоциации между PID и PPID. Затем найдите 10896 в диспетчере задач (10896 — это PPID, указанный для идентификатора calc.exe 7384), а в диспетчере задач я вижу, что процесс с PID 10896 — это cmd.exe, который является процессом, который я использовал для запуска calc. exe И действительно, cmd.exe является родительским процессом, который породил calc.exe
Метод 2 — Монитор процесса
Вы можете сделать это на мониторе процесса sysinternals.
нажмите filter..filter в строке меню и добавьте фильтр, фильтрующий имя или путь или PID процесса, например. имя процесса calc.exe или фильтр для пути и введите c: \ windows \ system32 \ calc.exe
Мне удалось использовать имя процесса
>
Сделайте OK .. и файл..capture, если он еще не захвачен.
Дважды щелкните правой кнопкой мыши, чтобы в этом случае загрузилось изображение calc.exe и появилось диалоговое окно свойств, щелкните правильную вкладку, «процесс», и вы увидите PID и PPID (идентификатор родительского процесса).
И, конечно, когда вы знаете PPID, как сейчас, вы можете найти его в диспетчере задач, чтобы узнать, какой процесс породил его.
Если это был процесс, который выполнялся в фоновом режиме, я бы, вероятно, использовал Process Explorer или wmic подходы к процессу, обозначенные —- +: = 2 =: + —- или Barlop . Если процесс является переходным и запускает /выдает очень быстро, оставляя недостаточно времени для выполнения необходимых кликов и нажатий клавиш, я бы использовал Process Monitor, как описано nixda.
Я немного опаздываю на эту вечеринку, но ради завершения:
Другая альтернатива этому (если по какой-либо причине вы не хотите использовать Process Monitor), необходимо использовать встроенное отслеживание процессов. Это можно активировать, выбрав:
Панель управления -> Администрирование -> Локальная политика безопасности -> Локальная политика -> Политика аудита . Если в панели управления нет средств администрирования, другой способ открыть локальную политику безопасности — нажать кнопку «Пуск» и набрать secpol.msc .
Вы должны увидеть несколько параметров аудита, включая отслеживание процессов аудита . Включите это для категории Успех .
>
Теперь в Event Viewer -> Журналы Windows -> Безопасность , вы увидите событие для «создания процесса» (это идентификатор события 4688) и имя /путь создаваемого процесса и поле под названием Идентификатор процесса создания . Это содержит шестнадцатеричное представление PID процесса, который создал этот процесс (его можно легко преобразовать, используя calc.exe в представлении Programmer ).
Несколько возможных предложений попробовать (в случайном порядке), некоторые из которых могут не дать допустимых результатов или ваших попыток уже. Я не пробовал их самостоятельно, поэтому я просто предлагаю идеи, которые другие могут пропустить. Мозговой штурм . Имейте в виду, что большинство моих предложений направлены на устранение проблем, а не на решение его по первопричине. они представляют собой так называемые отчаянные меры или план Z .
1. Информация о командной строке в диспетчере задач
Вы отметили столбец Command в диспетчере задач, предоставил ли он эту информацию? Полагаю, вы уже пробовали это.
2. Информация о процессе в Process Explorer
Если Command пуст, я бы попробовал Process Explorer из SysInternals и посмотрел, получаю ли я больше информации об этом конкретном процессе.
3. Приостановка процесса
Если вы не можете найти корень своей проблемы, вы можете попробовать приостановить процесс, чтобы он все еще присутствовал, но он ничего не делает. Вы можете сделать это либо с помощью Монитора ресурсов
или SysInternals Process Explorer
Неизвестный процесс, который запускает его, скорее всего, проверяет процессы (по имени), и если он видит, что его нет, он запускает его. Если вы приостановите его, он будет существовать, поэтому этот процесс инициализации может не порождать новый экземпляр.
Это может привести к сбою, если в процессе инициализации используются другие средства обнаружения процессов (межпроцессная связь), но этот тип обнаружения процесса намного сложнее, поэтому более легкие варианты выигрывают.
4. Пользовательская программа
Мы можем иметь дело с двумя процессами здесь. Первый , который проверяет существование второго процесса и начинает его (что вы убиваете). Когда второй запускается, вы можете увидеть свою командную строку, но зная, что это не поможет вам даже не запускать ее, и вы скорее можете после первого процесса, который фактически инициирует все. Жесткая удача.
Но поскольку вы, кажется, сообразительны в компьютере, вы можете заменить второй процесс (если известна командная строка) своим собственным исполняемым файлом, который ничего не делает и просто сидит там. Он должен иметь одно и то же имя процесса. Он также может начинаться и заканчиваться сразу же.
Если вы действительно хороши в разработке ОС на низком уровне, вы можете написать второй процесс, чтобы также проверить, кто его запустил, если это возможно. Я не уверен, но Windows API должен предоставить такую информацию. Тогда это приведет вас к корню вашей проблемы.
5. Планировщик заданий
Возможно, ваш процесс не генерируется другими процессами, а определенная заданная задача задания заданий выполняется каждую минуту. Я не уверен, что вы уже проверили это, но это может быть так.
6. Инфекционная чистка
Рассмотрена вирусная инфекция? Попробуйте обнаружить его и очистить.