Предположим, что я знаю идентификатор процесса. Я хочу найти имя процесса по его идентификатору, используя оконный пакетный скрипт. Как я могу это сделать?Найти имя процесса по его идентификатору процесса
ответ
Основных один, попросите Tasklist фильтровать свой вывод и показывать только информацию Показанного идентификатора процесса
tasklist /fi "pid eq 4444"
Чтобы получить только имя процесса, линии должны разделяться
for /f "delims=," %%a in ('
tasklist /fi "pid eq 4444" /nh /fo:csv
') do echo %%~a
В этом case, список процессов извлекается без заголовков (/nh
) в формате csv (/fo:csv
). Запятые используются в качестве маркеров разделителей и первые маркера в строке являются именем изображения
примечание: В некоторых версиях Windows (в одном из них, моего случая, это испанский Windows XP версии), ИДП фильтр список задач не работает. В этом случае фильтр по списку процессов должны быть сделано из команды
for /f "delims=," %%a in ('
tasklist /fo:csv /nh ^| findstr /b /r /c:"[^,]*,\"4444\","
') do echo %%~a
это будет генерировать список задач и фильтровать поиск по идентификатору процесса во втором столбце вывода CSV.
отредактировал: в качестве альтернативы вы можете предположить, что было сделано командой, которая перевела ОС на испанский. Я не знаю, что может случиться в других местах.
tasklist /fi "idp eq 4444"
Используя только «родные» утилиты для Windows, выполните следующие действия, где «516» идентификатор процесса, который вы хотите имя изображения для:
for /f "delims=," %a in ('tasklist /fi "PID eq 516" /nh /fo:csv') do (echo %~a)
for /f %a in ('tasklist /fi "PID eq 516" ^| findstr "516"') do (echo %a)
Или вы могли бы использовать WMIC (инструментария управления Windows Command -линии инструмент) и получить полный путь к исполняемому файлу:
wmic process where processId=516 get name
wmic process where processId=516 get ExecutablePath
или вы можете скачать Microsoft PsTools или специально загрузить только утилиту PsList и использовать PsList:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a pid=1600
FOR /f "skip=3delims=" %%a IN ('tasklist') DO (
SET "found=%%a"
SET /a foundpid=!found:~26,8!
IF %pid%==!foundpid! echo found %pid%=!found:~0,24%!
)
GOTO :EOF
... установить PID в соответствии с вашими обстоятельствами.
- 1. Получить объект процесса по идентификатору процесса
- 2. Убить процесс по идентификатору процесса
- 3. Получить использование ЦП для процесса по идентификатору процесса
- 4. freebsd: текущий динамический цикл процесса по идентификатору процесса
- 5. Как найти процесс windows по идентификатору процесса на командной строке
- 6. Счетчик производительности по идентификатору процесса вместо имени?
- 7. Управление объемом приложения: по идентификатору процесса
- 8. Получить имя процесса по PID
- 9. имя процесса процесса в mod_wsgi
- 10. Найти идентификатор процесса фонового процесса
- 11. Как найти имя процесса с помощью процесса ручки в C#
- 12. Найти идентификатор процесса имени процесса
- 13. boost: Как найти идентификатор процесса процесса по имени?
- 14. Как узнать имя процесса при завершении процесса
- 15. Показывать процесс по имени его процесса?
- 16. Найти полный путь процесса
- 17. Предоставление процесса CLI для PHP имя процесса
- 18. Имя процесса из его pid в linux
- 19. Получить дескриптор процесса, используя его имя изображения
- 20. Идентификатор процесса активен, когда задано имя процесса
- 21. получить имя процесса из идентификатора процесса (win32)
- 22. Получить заголовок окна по его имя процесса без главного окна
- 23. Как найти имя процесса, порожденного Python?
- 24. Идентификатор процесса процесса Начал с начала процесса
- 25. Получить имя процесса pid
- 26. Получить дескрипторы процесса по имени процесса
- 27. Установить имя процесса python
- 28. Есть ли способ закрыть приложение Java по идентификатору процесса?
- 29. Получить имя процесса C++
- 30. Приведи к переднему окну, используя его имя процесса в C++
Если идентификатор процесса меньше, чем 1000, 'find' команда может получить неправильные строки, соответствующие данные в колонке памяти в случае' tasklist', или (меньше или больше, чем 1000) в любом числовых столбцов в числовых столбцах 'wmic' или' pslist'. –
Добавление хвостового пространства не решает проблему (например: '1.500' в столбце памяти). В списке задач вы можете отфильтровать вывод ('/ fi'), в wmic вы можете отфильтровать вывод (' where' clause), в pslist вы можете отфильтровать вывод (введите 'pid' в командной строке). Хотя 'grep' - отличный инструмент, нет необходимости использовать его здесь –
Хорошо, хороший звонок. Заставляю меня работать на это ... ;-) – Craig