Perl для системного администрирования



Управление процессами в NT/2000 - часть 6


Использование модуля Win32::Setupsup

Если упоминание о манипуляции окнами процесса, приведенное в конце предыдущего раздела, возбудило ваше любопытство, вам понравится наш следующий подход. На этот раз мы рассмотрим модуль Win32: :Setupsup Йена Хелберга (Jens Helberg). Он называется «Setup-sup», потому что первоначально был разработан для использования при установке программного обеспечения (при частом применении программы Setup.exe).

Некоторые инсталляторы можно запускать в так называемом «тихом режиме» для полной автоматизации установки. В этом режиме они не задают никаких вопросов и не просят нажимать кнопки «ОК>>, освобождая администратора от необходимости сидеть нянькой при инсталляторе. Если такой режим не поддерживается механизмом установки (а подобных случаев очень много), это сильно усложняет жизнь системного администратора. Win32: .Setupsup помогает справиться с такими трудностями. Он позволяет найти информацию о работающих процессах и работать с ними (либо завершить эти процессы, если вы того пожелаете).

Обратитесь к разделу «Информация о модулях из этой главы», чтобы узнать, как получить и установить модуль Win32: Используя Win32: :Setupsup, получить список выполняемых процессов очень просто. Вот слегка измененная версия примера, который можно увидеть в последнем разделе:

use Win32::Setupsup:

$machine = "";

получаем список на текущей ма^/не

Win32::Setupsup::GetProcessList

($machine, \@processlist. \@threaalist i a-die

"Ошибка получения списка процессов:

". Win32 :Serupsjjp: :GetLa;:: Ем^г(). ", '

pop(@processlist);

# удалить фальшивую запись, всегда

добавляемую к списку foreach Sprocesslist ((aprocesslist){

$pid = $processlist->{pid}:

$name = $processlist->{name};

write; }

format STDOUT_TOP =

Process ID Process Name

format STDOUT =

@<««« @««««««««««««««

$pid, $name

Завершение процессов тоже очень просто:

KillProcess($pid, Sexitvalule, Ssystemprocessflag) or die

"Невозможно завершить процесс:




Содержание  Назад  Вперед