Форум: "WinAPI";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
ВнизКак получить статус процесса на удаленном компьютере Найти похожие ветки
← →
LexusU (2006-11-24 19:34) [0]Как получить статус процесса(Не отвечает/Работает) на удаленном компьютере
← →
Eraser © (2006-11-24 19:36) [1]а на не удаленном как?
← →
LexusU (2006-11-24 19:41) [2]думаю аналогично. но как - не знаю
← →
Leonid Troyanovsky © (2006-11-25 11:51) [3]
> LexusU (24.11.06 19:34)
> Как получить статус процесса(Не отвечает/Работает) на удаленном
> компьютере
Не знаю, как насчет "не отвечает", но посмотри
http://rsdn.ru/Forum/Message.aspx?mid=891497&only=1
--
Regards, LVT.
← →
LexusU (2006-11-28 18:37) [4]Cпасибо. Но статус процесса этот юнит не дает. Только список процессов
← →
Leonid Troyanovsky © (2006-11-28 19:32) [5]
> LexusU (28.11.06 18:37) [4]
> Cпасибо. Но статус процесса этот юнит не дает. Только список
> процессов
Со статусом сложней, бо в win32 его, IMHO, и не существует.
Т.е., конечно, есть такие:
- процесс завершен (в контексте обсуждаемого юнита означает
отсутствие в списке)
- процесс is STILL_ACTIVE (присутствует в списке).
Кроме того, конечно, можно вспомнить и оконные приложения:
the receiving process appears to be in a "hung" state.
(RTFM: SendMessageTimeout).
Правда, с технологией оного выяснения для удаленных хостов
я не знаком.
Ну, а в остальном - увы.
--
Regards, LVT.
← →
BiN © (2006-11-28 21:39) [6]"PsKill
Часто при просмотре активных процессов у администратора возникает желание остановить какой-нибудь из них. Это можно сделать с помощью утилиты PsKill. Инструмент получает имя или ID процесса и завершает все соответствующие этому условию процессы на указанной машине.
В отличие от PsList, для PsKill требуется учетная запись с административными полномочиями на целевой машине. Это условие связано с тем, что в ходе дистанционной работы PsKill, как и утилита PsExec, извлекает службу из исполняемого образа и копирует ее на удаленную машину через разделяемый ресурс admin$, запускает службу, посылает указания относительно завершаемого процесса и останавливает и удаляет службу после выполнения команды. При необходимости можно задать другие учетные данные с помощью ключей -u и -p.
Марк Русинович (mark@sysinternals.com) "
Намёк понят?
← →
LexusU (2006-12-01 14:30) [7]Мне не нужно завершать программу. Мне нужно только узнать работает ли она или нет.
← →
BiN © (2006-12-01 14:54) [8]В [6] описана техника управления процессами на удаленной машине без (внимание! - намек №2) использования WMI.
← →
LexusU (2006-12-01 15:00) [9]а чем тогда tasklist хуже?
и не хочется мне консольную программу каждый раз вызывать
← →
DrPass © (2006-12-01 15:22) [10]
> Мне нужно только узнать работает ли она или нет.
Есть только один более-менее подходящий способ (соббсно, которым Windows и пользуется) - послать ей сообщение и подождать, пока она его обработает. Если это сообщение обработается за указанный таймаут, программа работает. Если нет - ну, можно сделать предположение, что зависла... если ты точно знаешь, что в программе нет долговременных расчетов или еще чего-нибудь, препятствующего своевременной обработке сообщений.
← →
BiN © (2006-12-01 16:02) [11]
> LexusU (24.11.06 19:34)
>
> Как получить статус процесса(Не отвечает/Работает) на удаленном
> компьютере
Не существует такого понятия, как "процесс не отвечает". Не отвечать может окно потока, в котором в данный момент не производится диспетчеризация сообщений. Процесс же имеет статус завершения ExitStatus. В течение жизненного цикла процесса этот статус равен STILL_ACTIVE (259). После вызова процессом функции ExitProcess(Code), статус процесса становится равным значению Code.
← →
Leonid Troyanovsky © (2006-12-01 17:50) [12]
> BiN © (01.12.06 14:54) [8]
> В [6] описана техника управления процессами на удаленной
> машине без (внимание! - намек №2) использования WMI.
Я бы также отметил, что ссылка из [3] также не требует WMI,
только запущенной службы удаленного управления реестром.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c