Как узнать PID дочернего процесса?
Доброго времени суток!
Мне нужно узнать PID дочернего процесса. Как это реализовать? |
В принципе, кроме особых случаев — никак. Можно, например, поизвращаться с классом «wmic.exe» Process и его методом Create, но это не для слабонервных.
Возможны обходные пути. Приведите детальную информацию. |
Я пишу панель управления своим хостингом. Так вот там мне надо сделать так, чтобы батник запускал другие программы и останавливал их. Много программ совпадают в названии, поэтому надо как-то работать с PID'ом. То есть нужно создавать и "убивать" дочерние процессы.
|
Хорошо, давайте подойдем с другой стороны. Мне надо узнать PID запущенной программы. То есть я запускаю любую программу из батника и мне надо узнать PID только что запущенной программы. Этого достаточно для моей задачи.
|
Запускайте не пакетным файлом. Используйте для этого WSH или PoSH.
P.S. У Вас не тот же посыл: CMD/BAT - [решено] Присвоение pid'a процессу при запуске.? |
Вот нашел рабочий код. Он перезапускает программу по времени. А у меня неизвестно имя программы, известно только ее расположение.
@echo off set PNAME=notepad.exe set PPATH=%windir%\system32\notepad.exe set TITLE=%RANDOM%%RANDOM% TITLE %TITLE% :LOOP (Start "" "%PPATH%" ping -w 780000 192.0.2.0 -n 1 >nul for /f "tokens=2 delims=," %%a in ('TaskList /NH /FO CSV /FI "WINDOWTITLE eq %TITLE%"') do ( for /f "skip=1" %%b in ('WMIC PROCESS WHERE "ParentProcessId=%%~a AND Name='%%PNAME%%'" Get ProcessId^,SessionID') do ( taskkill /PID "%%b" ))) GoTo:LOOP |
Так можете дать код, который бы показывал PID процесса при его запуске?
|
|
Мне WSH скрипт не нужен. Ладно, буду сам что-то решать...
|
dima05605, На примере калькулятопа
Код:
@echo off |
Цитата:
|
Цитата:
Код:
... call create "C:\Some Folder\program.exe" ... |
Всем доброго здравия.
А PID самой себя задача (батник) узнать может? |
Время: 07:58. |
Время: 07:58.
© OSzone.net 2001-