|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как узнать PID дочернего процесса? |
|
|
CMD/BAT - [решено] Как узнать PID дочернего процесса?
|
Пользователь Сообщения: 66 |
Профиль | Отправить PM | Цитировать Доброго времени суток!
Мне нужно узнать PID дочернего процесса. Как это реализовать? |
|
Отправлено: 20:39, 01-12-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать В принципе, кроме особых случаев — никак. Можно, например, поизвращаться с классом «wmic.exe» Process и его методом Create, но это не для слабонервных.
Возможны обходные пути. Приведите детальную информацию. |
Отправлено: 06:18, 02-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Я пишу панель управления своим хостингом. Так вот там мне надо сделать так, чтобы батник запускал другие программы и останавливал их. Много программ совпадают в названии, поэтому надо как-то работать с PID'ом. То есть нужно создавать и "убивать" дочерние процессы.
|
Отправлено: 13:24, 02-12-2012 | #3 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Хорошо, давайте подойдем с другой стороны. Мне надо узнать PID запущенной программы. То есть я запускаю любую программу из батника и мне надо узнать PID только что запущенной программы. Этого достаточно для моей задачи.
|
Отправлено: 13:56, 02-12-2012 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Запускайте не пакетным файлом. Используйте для этого WSH или PoSH.
P.S. У Вас не тот же посыл: CMD/BAT - [решено] Присвоение pid'a процессу при запуске.? |
|
Отправлено: 14:16, 02-12-2012 | #5 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Вот нашел рабочий код. Он перезапускает программу по времени. А у меня неизвестно имя программы, известно только ее расположение.
@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 |
Отправлено: 14:52, 02-12-2012 | #6 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Так можете дать код, который бы показывал PID процесса при его запуске?
|
Отправлено: 15:16, 02-12-2012 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:20, 02-12-2012 | #8 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Мне WSH скрипт не нужен. Ладно, буду сам что-то решать...
|
Отправлено: 15:25, 02-12-2012 | #9 |
Ветеран Сообщения: 1758
|
|
Отправлено: 16:44, 02-12-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Узнать размер памяти процесса | mishgan2004 | Скриптовые языки администрирования Windows | 3 | 14-08-2011 09:10 | |
[решено] Как узнать запущены ли два процесса с одним именем | CyberStyLe | AutoIt | 7 | 18-10-2009 10:14 | |
VBA - Как узнать имя процесса-родителя | akkorn | Программирование и базы данных | 4 | 16-03-2009 11:33 | |
Как узнать имя процесса по смещению | Andre505 | Microsoft Windows 95/98/Me (архив) | 3 | 28-09-2003 00:29 | |
Как узнать имя процесса по смещению | Andre505 | Программирование и базы данных | 2 | 27-09-2003 13:55 |
|