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

  • DanielDemidko

Хочу узнать имя процесса (ff.exe). Как это можно сделать? Получается только узнать что это notepad.exe.
5b7de07deb848498383623.png

Пробовал в духе:

public static bool FileLocked(string id)
		{
			var process = Process.GetProcessesByName ("notepad.exe");
			foreach (Process proc in process) 
			{
				if (proc.MainModule.FileName == id)
					return true;
			}
			return false;
		}


  • Вопрос задан

    более трёх лет назад

  • 711 просмотров

Пригласить эксперта

Все перемешали. У вас процесс notepad.exe, а параметр к нему это файл. Там в диспетчере на вкладке подробно включите колонку Командная строка и всё поймете. С кодом не подскажу.


  • Показать ещё
    Загружается…

26 мая 2023, в 06:23

1 руб./за проект

26 мая 2023, в 01:06

500 руб./за проект

26 мая 2023, в 00:08

2500 руб./за проект

Минуточку внимания

Кто может подсказать? Хочу сделать форму, с выбором exe файла, и сохранением его в форме для дальнейшего программного запуска через Process.Start
Фишка в том, что экзешник может быть любой и заранее имя запускаемого процесса мне неизвестно. А имя нужно для завершения этого процесса, когда понадобится. Есть ли возможность при запуске процесса сразу узнать его имя для дальнейшей работы с ним?

Думал сравнивать все процессы после запуска нового и таким образом вычислять новый, но во время запуска может запуститься еще какой сторонний процесс и можно завершить в итоге не тот/

задан 2 апр 2021 в 17:55

Anton's user avatar

6

Ребят, конкретно для моей задачи разобрался. Я вызывал статический запуск процесса по неопытности. На деле мне нужно было создавать экземпляр Process и экземпляр ProcessStartInfo в который помещается инфа директории запуска. Process.StartInfo =ProcessStartInfo. Для завершения все просто Process.Kill. Кстати размышления по поводу новых окон интересны. Стыдно за такой затуп, но все обошлось)) Всем спасибо.

string source = "C:\Windows/System32/notepad.exe";
ProcessStartInfo myInfo = new ProcessStartInfo(source);
Process notepadProc = new Process();
notepadProc.StartInfo = myInfo;
notepadProc.Start();
Thread.Sleep(5000);
notepadProc.Kill();

ответ дан 2 апр 2021 в 18:25

Anton's user avatar

AntonAnton

613 бронзовых знака

Как вариант

AppDomain.CurrentDomain.FriendlyName

Возвращает только имя файла. Чтобы получить директорию можно использовать

AppDomain.CurrentDomain.ApplicationBase

ответ дан 2 апр 2021 в 18:06

Cordis's user avatar

CordisCordis

4532 серебряных знака17 бронзовых знаков

1

95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

1

Узнать истинное имя процесса, программы

06.07.2013, 01:03. Показов 8965. Ответов 17


Студворк — интернет-сервис помощи студентам

Предположим такая ситуация:
У нас есть программа, у которой имя исполняемого файла Name.exe
Так получилось, что пишется другая программа, которая непосредственно работает с этой программой. И чтобы синхронизировать их работу, приходится искать процесс Name.exe.
Но пользователь изменил имя исполняемого файла на NoTitle.exe и как следствие, в процессах теперь NoTitle.exe.
Вопрос: Есть ли какой нибудь способ, узнать первоначальное имя файла(Name.exe), пробежавшись по всем процессам?



0



Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

06.07.2013, 03:07

2

Guliash, короче говоря: имя exe не совпадает с именем процесса?



1



nxtech

78 / 60 / 9

Регистрация: 26.06.2013

Сообщений: 198

06.07.2013, 06:04

3

А разве истинное имя процесса не будет этим самым новым именем файла?
Я так понимаю Name.exe не ваш. А ваше приложение работает с ним.
Если это net сборка, то первоначальное имя сохраняется в метаданных.
А вообще, мне кажется, алгоритм такой может быть:

C#
1
2
3
4
5
6
находим процесс.
узнаем имя файла.
получаем размер (чтобы быстрее было).
если размер наш, то вычисляем контрольную сумму.
    если контрольная сумма наша, делаем что нужно с найденным процессом.
если размер не наш, то ищем следующий процесс.

Добавлено через 1 минуту

Не по теме:

Не вирус пишите?



0



Администратор

Эксперт .NET

9391 / 4675 / 757

Регистрация: 17.04.2012

Сообщений: 9,519

Записей в блоге: 14

06.07.2013, 06:51

4

Цитата
Сообщение от Guliash
Посмотреть сообщение

Но пользователь изменил имя исполняемого файла на NoTitle.exe и как следствие, в процессах теперь NoTitle.exe

Если Name.exe будет работать в данный момент — то это невозможно. Будет ошибка «Файл занят процессом»
Если нет, то можете следить за файлом с помощью FileSystemWatcher



0



78 / 60 / 9

Регистрация: 26.06.2013

Сообщений: 198

06.07.2013, 07:27

5

tezaurismosis, способ с FileSystemWatcher не всегда поможет.



0



Администратор

Эксперт .NET

9391 / 4675 / 757

Регистрация: 17.04.2012

Сообщений: 9,519

Записей в блоге: 14

06.07.2013, 08:16

6

nxtech, пожалуйста, поподробнее, когда именно не поможет?



0



78 / 60 / 9

Регистрация: 26.06.2013

Сообщений: 198

06.07.2013, 10:06

7

Пользователь загрузится с какого-нибудь LiveCD и т.п. и изменит имя файла.



1



Администратор

Эксперт .NET

9391 / 4675 / 757

Регистрация: 17.04.2012

Сообщений: 9,519

Записей в блоге: 14

06.07.2013, 10:20

8

Согласен.



0



Guliash

95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

06.07.2013, 10:47

 [ТС]

9

Цитата
Сообщение от Psilon
Посмотреть сообщение

Guliash, короче говоря: имя exe не совпадает с именем процесса?

Короче говоря, да. В коде второй программы ищется процесс по имени Name.exe. Но я не найду его таким образом, если пользователь изменил имя программы. Но очень бы хотелось, как нибудь получить истинное (авторское) имя, чтобы программа всё таки понимала что это тот самый Name.exe
Извиняюсь, если расписал непонятно=(

Добавлено через 3 минуты

Цитата
Сообщение от nxtech
Посмотреть сообщение

А разве истинное имя процесса не будет этим самым новым именем файла?
Я так понимаю Name.exe не ваш. А ваше приложение работает с ним.
Если это net сборка, то первоначальное имя сохраняется в метаданных.
А вообще, мне кажется, алгоритм такой может быть:

C#
1
2
3
4
5
6
находим процесс.
узнаем имя файла.
получаем размер (чтобы быстрее было).
если размер наш, то вычисляем контрольную сумму.
    если контрольная сумма наша, делаем что нужно с найденным процессом.
если размер не наш, то ищем следующий процесс.

Добавлено через 1 минуту

Не по теме:

Не вирус пишите?

Единственный способ синхронизации этих двух программ, это знание имени первой (авторское имя). Сборка первой не .NET. А вторая под .NET.
P.S. прочитайте выше, я расписал чуточку яснее.



0



tezaurismosis

Администратор

Эксперт .NET

9391 / 4675 / 757

Регистрация: 17.04.2012

Сообщений: 9,519

Записей в блоге: 14

06.07.2013, 10:50

10

Guliash, ещё вариант — пробежаться по всем файлам в папке, и найти библиотеку, у которой

C#
1
[assembly: AssemblyTitle("Name.exe")]

Это указывается в AssemblyInfo.cs и можно получить с помощью рефлексии.



0



Guliash

95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

06.07.2013, 11:04

 [ТС]

11

Цитата
Сообщение от tezaurismosis
Посмотреть сообщение

Guliash, ещё вариант — пробежаться по всем файлам в папке, и найти библиотеку, у которой

C#
1
[assembly: AssemblyTitle("Name.exe")]

Это указывается в AssemblyInfo.cs и можно получить с помощью рефлексии.

Я не знаю где папка с первой программой. Единственное, что мы знаем, это авторское имя программы, которое нещадно могло быть изменено. Первая программа вероятнее всего писалась на Delphi. Вторая на C#/.NET

Добавлено через 8 минут
Конечно, есть вариант пробежаться по регистру, и выяснить куда она была установлена.
В регистре искать по старому имени Name.exe. Там наверное и будет записано, старое имя программы? А потом уже зная директорию, пытаться понять, как же пользователь её переименовал.



0



78 / 60 / 9

Регистрация: 26.06.2013

Сообщений: 198

06.07.2013, 11:46

12

Я же вам описАл более-менее общий и не сложный вариант, подходящий для большинства случаев.
В этом варианте вы должны как то узнать контрольную сумму файла программы пользователя. Ведь это же возможно. Как узнаете контрольную сумму (при первом запуске вашего приложения на компьютере пользователя или посмотрите его на своем компьютере) — это детали. Суть в том, что ваше приложение всегда можете сохранить эту сумму, а потом использовать для идентификации процесса.



1



95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

06.07.2013, 11:58

 [ТС]

13

Конечно, это рабочий вариант, благодарю.
Но несколько трудоёмкий, из за наличия многих версий.



0



78 / 60 / 9

Регистрация: 26.06.2013

Сообщений: 198

06.07.2013, 12:07

14

Многих версий программ пользователя? И сколько же?



0



95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

06.07.2013, 12:22

 [ТС]

15

В среднем в год по 5 обновлений выходит, не учитывая версий под Linux и Mac OS.



0



Psilon

Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

06.07.2013, 13:45

16

Guliash,

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Diagnostics;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            const string name = "TestRename.exe";
            foreach (Process process in Process.GetProcesses())
            {
                if (process.ProcessName == "Idle" || process.ProcessName == "System")
                    continue;
                try
                {
                    ProcessModule processModule = process.MainModule;
                    FileVersionInfo fileVersionInfo = processModule.FileVersionInfo;
                    string internalName = fileVersionInfo.InternalName;
                    if (process.ProcessName == "Renamed")
                        Console.WriteLine();
                    if (internalName == name)
                    {
                        Console.WriteLine("Имя измененного файла:t{0}.exe", process.ProcessName);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ошибка {0} при работе с процессом {1}", e.Message, process.ProcessName);
                }
            }
            Console.ReadKey();
        }
    }
}

При этом нельзя компилировать в AnyCPU, для 64 приложения работает (проверил у себя), для 32 не проверял.



1



95 / 95 / 15

Регистрация: 11.11.2010

Сообщений: 424

06.07.2013, 14:14

 [ТС]

17

Psilon, вроде бы то, что нужно!
Благодарю!



0



Psilon

Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

06.07.2013, 14:54

18

C#
1
2
                    if (process.ProcessName == "Renamed")
                        Console.WriteLine();

это отладочная информация именно для моего компьютера, её удалить можно (нужно).



0



Содержание

  1. Как проверить список запущенных процессов в Windows?
  2. Диспетчер задач
  3. Список запущенных процессов из командной строки
  4. Как узнать список запущенных процессов из Power Shell
  5. Как узнать PID (идентификатор процесса) в Windows
  6. Как узнать PID (идентификатор процесса) в диспетчере задач
  7. Как узнать PID (идентификатор процесса) в командной строке
  8. Как узнать имя процесса windows 10

Как проверить список запущенных процессов в Windows?

В статье описывается несколько способов, которые помогут отобразить список запущенных процессов в Windows. Операции производятся в Windows 10, но что-то сработает и в более ранних версиях.
Согласитесь, задача отобразить список запущенных процессов далеко не самая сложная. Однако подходы к её решению не обязательно должны быть стандартными. Информацию по процессам можно представить и в более комфортном виде, чем, например, через…

Диспетчер задач

Чаще всего, кроме этого способа, пользователям больше ничего и не известно. Но, раз уж это так, значит, этого большинству из нас достаточно. Вызывается оный во всех последних версиях Windows просто – достаточно зажать три клавиши быстрого доступа:

Ctrl + Shift + Esc

Вкладка с процессами не изменилась со времён Windows XP:

Однако, если вы на К76, вам Диспетчера мало. Согласен, продолжаем.

Список запущенных процессов из командной строки

В Windows есть встроенная командная утилита tasklist, отображающая список запущенных процессов на указанном компьютере. Как и многие другие в папке System32, tasklist принадлежит к числу административных утилит, которые могут смотреть запущенные процессы на удалённых машинах по сети. Для локального компьютера команда в консоли, запущенной от имени администратора, может, например, принять такой вид:

После этого на Рабочем столе появится текстовый файл:

в котором запущенные на момент исполнения команды будут представлены в удобочитаемом виде. Текстовый вывод не понимает кириллицы, так что я обычно использую специальные текстовые редакторы типа Notepad ++. Но, думаю, что в файле написано, понятно и так:

Или процессы можно представить в табличном формате; если есть Excel, можете просматривать процессы оттуда:

Для удалённого компьютера команда примет вид:

На этом можно было бы и закончить, но я продолжу аналогичным вариантом, откуда вы узнаете…

Как узнать список запущенных процессов из Power Shell

Информация из файла, получаемого аналогичным путём, будет немного более информативнее. Этот вариант доступен владельцам копий Windows 7/10, и командлет на отображение списка на том же Рабочем столе будет таким:

для локальной копии Windows:

  • Handles – число потоков, которые процесс открыл для себя.
  • NPM(K) – размер невыгружаемого пула памяти, использующегося процессом, в килобайтах.
  • PM(K) – размер выгружаемого пула памяти, использующегося процессом, в килобайтах.
  • WS(K) – размер рабочего набора процесса, в килобайтах. Он состоит из страниц памяти, к которым процесс обращался в текущем сеансе.
  • VM(M) – объём оперативной памяти, занимаемой процессом, в мегабайтах (в том числе в pafefile).
  • CPU(s) – время в секундах, затрачиваемое всеми камнями процессора.
  • ID – PID указанного процесса.
  • ProcessName – Имя процесса.

Как узнать PID (идентификатор процесса) в Windows

В данной статье показаны действия, с помощью которых можно узнать PID (идентификатор процесса) в операционной системе Windows.

Идентификатор процесса (process identifier, PID) — уникальный номер процесса в операционной системе Windows.

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

При необходимости можно узнать PID (идентификатор процесса).

Как узнать PID (идентификатор процесса) в диспетчере задач

Чтобы узнать PID (идентификатор процесса), откройте диспетчер задач и перейдите на вкладку Процессы, затем нажмите правой кнопкой мыши на заголовок таблицы и в контекстном меню выберите пункт ИД процесса .

Теперь найдите нужный процесс, и в столбце ИД процесса будет отображен идентификатор соответствующего процесса.

Как узнать PID (идентификатор процесса) в командной строке

Также узнать PID (идентификатор процесса) можно используя командную строку.

Запустите командную строку и выполните следующую команду:

Найдите нужный процесс, в столбце PID будет отображен идентификатор процесса.

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

Найдите нужный процесс, в строке PID будет отображен идентификатор процесса.

Используя рассмотренные выше действия, можно узнать PID (идентификатор процесса) в операционной системе Windows.

Как узнать имя процесса windows 10

В продолжение рубрики «Основы», сегодня речь пойдет о процессах в 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 —>

Содержание

  1. Как определить, какой процесс в Windows 10 не дает переименовать, переместить либо удалить файл или папку
  2. Как узнать, какой процесс блокирует файл или папку в Windows
  3. 1. Монитор ресурсов
  4. 2. Process Explorer
  5. 3. OpenedFilesView
  6. 4. LockHunter
  7. Как узнать, с какими аргументами командной строки запущена программа в Windows 10
  8. Узнайте, какой процесс блокирует файл или папку в Windows
  9. 9 ответов
  10. Как удалить файл, используемый другой программой
  11. Как исправить ошибку «Файл используется»
  12. Разблокируйте используемый файл специальным инструментом
  13. Файл все еще используется? Загрузитесь в безопасный режим

Как определить, какой процесс в Windows 10 не дает переименовать, переместить либо удалить файл или папку

process

Н аверное, каждому из пользователей Windows хотя бы раз приходилось иметь дело с так называемыми неудаляемыми файлами и папками. Как правило, причиной невозможности удалить, переместить или хотя бы переименовать такой объект является использование его каким-то процессом, причём необязательно чтобы этот процесс был системным. Это может быть антивирус, архиватор или какой-нибудь редактор.

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

4614395 1

Так вот, определить её очень просто. Во всех популярных версиях Windows (начиная с 7) есть такая встроенная утилита как «Монитор ресурсов», предназначающаяся для контроля использования программных и аппаратных ресурсов. В её поле зрения попадают все процессы, в том числе и зависшие. Она то как раз и подскажет, что именно держит файл или папку.

4614395 2

4614395 3

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

4614395 4

После этого проблемный файл, папка или другой объект легко смогут быть удалены обычным способом.

Источник

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

Как я могу узнать, какой процесс блокирует файл или папку в Windows? Например, при попытке удалить папку Windows сообщает следующее:

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

process locking file

Такая же ошибка может возникнуть при переименовании или удаления как папки, так и файла. Но как узнать, какая программа или приложение в настоящее время использует его и не позволяет удалить файл или папку?

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

1. Монитор ресурсов

Для поиска программы или процесса, открывшей файл, вы можете использовать Монитор ресурсов (Resource Monitor), который встроен в Windows 7, 8 и 10.

Откройте Монитор ресурсов, это можно сделать несколькими способами:

process locking file 2

process locking file 3

В Мониторе ресурсов перейдите на вкладку ЦП (CPU). Используйте поле поиска в разделе «Связанные дескрипторы»

process locking file 4

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

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

process locking file 5

2. Process Explorer

Process Explorer — это официальная программа от Microsoft/SysInternals, которую можно скачать по ссылке: https://download.sysinternals.com/files/ProcessExplorer.zip

Перейдите в FindHandle or DLL.

process locking file 6

В текстовом поле «Handle or DLL substring:» введите путь до файла или папки. Будут показаны все процессы, которые имеют открытый обработчик на этот файл.

3. OpenedFilesView

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

opened files view

4. LockHunter

LockHunter — это надёжная программа для разблокировки файлов.

lockhunter

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

lockhunter 2

Источник

Как узнать, с какими аргументами командной строки запущена программа в Windows 10

cmd

Многие десктопные приложения поддерживают аргументы командной строки — этакие переключатели, позволяющие изменять поведение программ, запуская их с определенными настройками. Например, запущенный с ключом —process-per-site браузер Chrome позволяет открывать вкладки с одним доменом в одном процессе. Узнать, работает ли приложение с аргументами или нет достаточно просто, в Windows 10 для этого можно использовать Диспетчер задач или встроенную консольную утилиту WMIC.

Откройте Диспетчер задач, кликните правой кнопкой мыши по заголовку любого из столбцов и выберите в контекстном меню пункт «Командная строка».

5910142 1

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

5910142 2

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

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

Команда получения аргументов выглядит следующим образом:

wmic.exe path Win32_Process where handle=’PID’ get Commandline /format:list

5910142 4

В ней вам нужно изменить только PID — идентификатор процесса проверяемого приложения.

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

5910142 3

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

cmdclose

consolemore

7zip

screen

Источник

Узнайте, какой процесс блокирует файл или папку в Windows

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

Например, при попытке удалить папку Windows сообщает об этом:

Действие не может быть выполнено, потому что папка открыта в другой программе

Случается то же самое с файлом, но как узнать, какая программа или приложение в настоящее время его использует и не позволяет мне удалить файл или папку?

9 ответов

Если это не очевидно, когда вы нашли дескриптор, вы можете определить процесс, посмотрев на столбец Image и /или PID.

E2TJv

N.B. WhoLockMe, похоже, не работает с Win 10 (по крайней мере, мне не удалось зарегистрировать его ни в одной из 32- или 64-разрядных версий regsvr32.exe).

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

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

r9diy>

JU6cs

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

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

Вот мое открытие & Решение.

Кстати, ни один из вышеперечисленных ответов не решил мою проблему.

Я даже пытался использовать UNLOCKER, который оказался бесполезным.

Моя проблема была в том, что Memeo Autosync Backup

По-видимому, этот процесс резервного копирования оставляет достаточно «файла-призрака». Этот «призрак, как файл», будет отображаться всякий раз, когда я буду ALT-TAB на моем компьютере (Windows Professional XP), то есть я увижу, что в моей TASK BAR запускаются две программы MS Excel, когда я только ОДИН был видимым.

Я столкнулся с этим решением, когда подумал, что это могла быть защита SYMANTEC Endpoint (Anti-Virus); и отключил программу. Однако я продолжал получать сообщение об ошибке:

невозможно удалить (файл LARGE.xls): он используется другим человеком или программой. Закройте все программы, которые могут использовать этот файл, и повторите попытку.

Впоследствии я продолжал видеть уведомление Memeo о «синхронизации» и ВЫКЛЮЧИТЬ программу.

Для вас это может быть ЛЮБОЙ из этих фоновых сейвов.

Если вы не знаете программу, которую он использует, вы можете перейти в «Мой компьютер»; щелкните правой кнопкой мыши; выберите «Управление». В разделе «Системные инструменты»> Общие папки> Откройте файлы, вы сможете увидеть пользователя, который заблокировал файл. Здесь вы можете закрыть файл, а затем выполнить задачу переименования или удаления файла. Надеюсь, что это поможет

Дополнительная возможность, просто чтобы сэкономить людям время, которое я потратил:

Измените право собственности на Администраторов, и вам хорошо идти.

Источник

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

Windows File In Use

Windows File Explorer утверждает, что файл, который вы пытаетесь удалить, открыт в другой программе или в системе? Если вы не можете открыть, отредактировать или удалить файл, он все еще работает в фоновом режиме или не закрылся должным образом.

К счастью, вы можете принудительно закрыть, переименовать, переместить или удалить используемый файл. Вот как!

Как исправить ошибку «Файл используется»

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

1. Закройте программу

Начнем с очевидного. Вы только что открыли файл, а не закрыли его? Если файл закрыт, но программа все еще работает, закройте его, а затем повторите попытку.

2. Перезагрузите компьютер

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

Restarting Windows

Если вы уже попытались перезагрузить компьютер, но это не помогло, перейдите к следующему варианту.

3. Завершить приложение через диспетчер задач

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

Windows Task Manager App

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

4. Измените настройки процесса проводника

По умолчанию File Explorer запускает все свои окна в одном процессе (explorer.exe). Однако может случиться так, что ваши настройки заставят Проводник запускать отдельные процессы, что может вызвать конфликт между различными процессами.

Нажмите Windows + E, чтобы открыть проводник. Перейдите в ВидПараметрыИзменить папку и параметры поиска.

File Explorer Folder and Search Options

В окне «Параметры папки» перейдите на вкладку «Вид» и найдите окна «Запуск папки» в отдельном параметре процесса. Убедитесь, что это не проверено. Нажмите Применить, чтобы сохранить любые изменения.

Windows Folder Options

Если эта опция не была отмечена, вы можете попробовать, если ее проверка решит вашу проблему.

5. Отключите панель предварительного просмотра проводника

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

Windows File Explorer Preview Pane

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

6. Принудительно удалите используемый файл через командную строку.

Вы можете обойти File Explorer и принудительно удалить файл, используя командную строку.

Во-первых, нам нужно отследить каталог пути к файлу в проводнике. Нажмите Windows + E, чтобы открыть проводник, найти поврежденный файл и скопировать путь к файлу.

File Explorer Directory

Command Prompt CD File Path

Прежде чем мы сможем продолжить и принудительно удалить используемый файл, мы должны временно завершить процесс проводника. Это приведет к исчезновению панели задач, обоев и открытых папок. Но не волнуйтесь, вы можете перезапустить Проводник, и мы покажем вам, как это сделать ниже.

Чтобы закрыть Проводник, нажмите Ctrl + Shift + ESC, найдите Проводник Windows, щелкните правой кнопкой мыши процесс и выберите Завершить задачу.

Windows Task Manager File Explorer End Task

Вернитесь в командную строку. Если вы потеряли окно, нажмите Alt + Tab, чтобы перейти к нему.

Введите эту команду, чтобы удалить файл, заменив все в кавычках фактическим именем файла: del «File in Use.doc»

Windows Command Prompt Delete File

Чтобы перезапустить Диспетчер файлов, откройте Диспетчер задач ( Ctrl + Shift + ESC ), нажмите Файл → Запустить новое задание, введите explorer.exe и нажмите кнопку ОК. Это должно восстановить ваш рабочий стол в его обычном виде.

Разблокируйте используемый файл специальным инструментом

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

1. Microsoft Process Explorer

Process Explorer — это более мощный File Explorer. Он не только перечисляет все запущенные процессы, он также может показать вам, какой процесс взял ваш файл в заложники. Просто откройте Process Explorer Search через Find → Find Handle или DLL (или нажмите Ctrl + F ), введите имя файла и дождитесь списка процессов, обращающихся к вашему файлу.

Process Explorer Search

Вы не можете закрыть процесс из окна поиска, но вы можете использовать Process Explorer или Windows Task Manager, чтобы закрыть нарушающее работу приложение.

2. Unlocker

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

Unlocker Options

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

Unlocker Error

3. LockHunter

LockHunter добавит себя в контекстное меню Windows. После установки просто щелкните правой кнопкой мыши заблокированный файл и выберите Что блокирует этот файл? Это должно вызвать окно, показывающее все процессы, использующие файл. Теперь вы можете выбрать «Разблокировать», «Удалить» (при следующем перезапуске системы) или «Разблокировать и переименовать файл». В нашем случае мы не смогли разблокировать файл, но удаление его при следующем перезапуске системы сработало.

В Windows 10 запустите Unlocker, найдите файл, выберите файл и нажмите OK. Разблокировщик посмотрит и (если найдет) снимет блокирующие ручки. Даже если он не находит дескриптор, вы можете использовать Unlocker для удаления, переименования или перемещения файла.

LockHunter Delete File in Use

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

Файл все еще используется? Загрузитесь в безопасный режим

Если вышеописанное не помогло или вы не заинтересованы в установке программного обеспечения, есть еще одна вещь, которую вы можете попробовать: загрузиться в безопасном режиме Windows. Файл, который вы пытаетесь удалить, может автоматически загружаться другим приложением. Разблокировщики должны все еще работать, если это так, но если вредоносное ПО задействовано или если вы не хотите иметь дело со сторонними инструментами, это альтернативный путь, который вы можете выбрать.

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

Источник

Понравилась статья? Поделить с друзьями:
  • Как найти забытый айклауд
  • Как составить анкету содержанки
  • Как найти массу древесного угля
  • Как найти карту visa
  • Как найти индукцию магнитного поля через площадь