![]() |
Получить текущий PID консоли
Доброе время суток!
Извиняюсь, если эта тема уже была поднята, но я не нашёл таковой: подскажите, пожалуйста, как можно получить текущий PID данного Bat-файла, если его окно скрыто? Если окно есть, то всё легко и просто... Вроде, можно через WMIC как-то... Заранее спасибо! |
Bruce Wayne, PID пакетного файла получить невозможно, ибо, хоть его расширение числится среди исполняемых, ему нужен хост-испонитель, каковым является командный процессор cmd.exe. Вот его PID получить можно.
Простой (отнюдь не гарантированный, и вовсе не изолированный) способ состоит в том, чтобы дать заголовку окна консоли случайное имя, затем выделить процесс, имеющий окно с таким заголовком. Полагаю, речь: Цитата:
Тогда попробуйте воспользоваться, например, WSH: WSH: как из скрипта определить его идентификатор процесса (PID). |
Iska, спасибо большое!) Да, я написал бред, чтобы показать полную суть вопроса :D
|
Получилось реализовать вот таким методом (работает даже при скрытом окне):
Код:
@echo off |
|
Foreigner, на xp pro x86 работает
|
Foreigner, а что должно быть? Пакетный файл, запущенный из командного процессора, не порождает нового процесса cmd.exe.
|
|
Ну, сам пакетный файл не может иметь PID: он хоть и числится в исполняемых, но — обычный текст. Потому корректно вопрос будет звучать так: «получить PID командного процессора, исполняющего данный пакетный файл».
|
Время: 08:33. |
Время: 08:33.
© OSzone.net 2001-