Список всех запущенных процессов 

Список всех запущенных процессов 

В следующих двух примерах мы будем работать с запущенными в операционной системе процессами.

Создадим сценарий ListProcesses.js, который будет выводить на экран имена всех запущенных процессов (рис. 11.29).

Рис. 11.29. Список всех запущенных в системе процессов

Первое, что необходимо сделать в сценарии — подключиться к службе Windows Management service, т.е. создать корневой элемент WMI, который содержит в себе все остальные. 

Для этого в качестве параметра функции GetObject() указывается "winMgmts:"; в нашем примере мы соединяемся с WMI внутри блока try, что позволяет обработать возможные исключительные ситуации:

try {

 //Соединяемся с WMI

 WMI=GetObject("winMgmts:");

} catch (e) {

 //Обрабатываем возможные ошибки

 if (е != 0) {

  //Выводим сообщение об ошибке

  Mess="Ошибка при соединении с WMI";

  WshShell.Popup(Mess, 0, "Запущенные процессы", vbCritical);

  //Выходим из сценария

  WScript.Quit();

 }

}

Запущенным процессам соответствует класс Process схемы Win32. Коллекция всех процессов создается с помощью выполнения следующего SQL-запроса:

SELECT * FROM Win32 Process

Таким образом, можно сказать, что класс Win32_Process является аналогом таблицы базы данных; сам запрос выполняется с помощью метода ExecQuery():

Processes=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_Process"));

После создания коллекции мы просматриваем в цикле while все ее элементы, каждый из которых соответствует одному процессу, и добавляем имя процесса, хранящееся в свойстве Name, к переменной SList:

//Инициализируем строку SList

SList="Запущенные процессы ";

//Цикл по всем элементам коллекции

while (!Processes.atEnd()) {

 //Извлекаем текущий элемент коллекции (запущенный процесс)

 Process=Processes.item();

 //Формируем строку с именами процессов

 SList+=Process.Name+" ";

 //Переходим к следующему элементу коллекции

 Processes.moveNext();

}

После выхода из цикла переменная SInfo выводится на экран с помощью метода Echo() объекта WScript:

WScript.Echo(SInfo);

Полностью текст сценария ListProcesses.js приведен в листинге 11.21.

Листинг 11.21. Вывод на экран списка всех запущенных процессов

/********************************************************************/

/* Имя: ListProcesses.js                                            */

/* Язык: JScript                                                    */

/* Описание: Вывод на экран списка всех запущенных на локальной     */

/*           рабочей станции процессов                              */

/********************************************************************/

var

 WMI,       //Экземпляр WMI

 Processes, //Коллекция процессов

 Process,   //Экземпляр коллекции

 SList;     //Строка для вывода на экран

//Инициализируем константы для диалоговых окон

var vbCritical=16;

try  {

 //Соединяемся с WMI

 WMI=GetObject("winMgmts:");

} catch (e) {  //Обрабатываем возможные ошибки

 if (e != 0) {

  //Выводим сообщение об ошибке

  Mess="Ошибка при соединении с WMI";

  WshShell.Popup(Mess,0,"Запущенные процессы",vbCritical);

  //Выходим из сценария

  WScript.Quit();

 }

}

//Создаем коллекцию всех запущенных процессов

Processes=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_Process"));

//Инициализируем строку SList

SList="Запущенные процессы ";

//Цикл по всем элементам коллекции

while (!Processes.atEnd()) {

 //Извлекаем текущий элемент коллекции (запущенный процесс)

 Process=Processes.item();

 //Формируем строку с именами процессов

 SList+=Process.Name+" ";

 //Переходим к следующему элементу коллекции

 Processes.moveNext();

}

//Выводим информацию на экран

WScript.Echo(SList);

/*************  Конец *********************************************/

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Софтерра: Ась? ICQ во всех ипостасях

Из книги Журнал «Компьютерра» №42 от 15 ноября 2005 года автора Журнал «Компьютерра»

Софтерра: Ась? ICQ во всех ипостасях Уже спустя семь месяцев после выхода первой версии ICQ утилитой одновременно пользовались до 100 тысяч человек. А в августе девяносто седьмого Mirabilis представила «корпоративную» версию - с возможностью использования IM-приложения только


Список всех команд

Из книги Документация NetAMS автора Автор неизвестен

Список всех команд Информация о командах их параметрах сгруппирована по


Список выполняемых процессов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Список выполняемых процессов Чтобы привести пример обработки типов Process, предположим, что у нас есть консольное приложение C# ProcessManipulator, которое определяет следующий вспомогательный статический метод.public static void ListAllRunningProcesses() { // Получение списка процессов, выполняемых


1.5.5. Гибкость на всех уровнях

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.5.5. Гибкость на всех уровнях Многие операционные системы, называемые более "современными" или более "дружественными по отношению к пользователю", чем Unix, достигают "внешней красоты" путем связывания пользователей и разработчиков одной интерфейсной политикой. В таких


§ 2.15 Алфавитный список всех элементов FictionBook 2.1

Из книги Создание электронных книг в формате FictionBook 2.1: практическое руководство [Release 1.01 от 28.II.2010 г.] автора Кондратович Михаил Иосифович

§ 2.15 Алфавитный список всех элементов FictionBook 2.1 a (§ 2.11)annotation  (§ 2.5)author  (§ 2.5)binary  (§ 2.3)body  (§ 2.3)book-name  (§ 2.5)book-title  (§ 2.5)cite (§ 2.8)city  (§ 2.5)code (§ 2.11)coverpage  (§ 2.5)custom-info  (§ 2.4)date  (§ 2.5)description  (§ 2.3)document-info  (§ 2.4)email (§ 2.6)emphasis (§ 2.11)empty-line (§ 2.8)epigraph (§ 2.7)FictionBook  (§ 2.3)first-name  (§ 2.6)genre  (§ 2.5)history  (§


1.5.5. Гибкость на всех уровнях

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.5.5. Гибкость на всех уровнях Многие операционные системы, называемые более "современными" или более "дружественными по отношению к пользователю", чем Unix, достигают "внешней красоты" путем связывания пользователей и разработчиков одной интерфейсной политикой. В таких


Список всех доступных доменов в локальной сети

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Список всех доступных доменов в локальной сети В листинге 11.1 приведен JScript-сценарий ListDomains.js, в котором создается список всех доменов, доступных в сети (рис. 11.1) Рис. 11.1. Список всех имеющихся в сети доменовВ рассматриваемом сценарии производятся следующие действия.


Список всех групп на рабочей станции

Из книги Яндекс для всех автора Абрамзон М. Г.

Список всех групп на рабочей станции Принцип формирования списка всех групп рабочей станции остается тем же, что и для рассмотренного выше списка всех доступных доменов локальной сети, однако первоначальное связывание нужно производить не с корневым объектом класса


Список всех пользователей в группе

Из книги CSS3 для веб-дизайнеров автора Сидерхолм Дэн

Список всех пользователей в группе В листинге 11.7 приведен сценарий ListUsers.js, в котором формируется список всех пользователей, входящих в группу "Пользователи" на компьютере 404_Popov.Для связывания с группой "Пользователи" рабочей станции 404_Popov создается объект GroupObj;


Список всех групп, в которые входит пользователь 

Из книги Главный рубильник. Расцвет и гибель информационных империй от радио до интернета автора Ву Тим

Список всех групп, в которые входит пользователь  В сценарии ListGroups.js, который представлен в листинге 11.8, на экран выводятся названия всех локальных групп, в которые входит пользователь Popov на рабочей станции 404_Popov (рис. 11.7). Рис. 11.7. Список всех групп, членом которых


2.6.2. Спамооборона для всех

Из книги C++ для начинающих автора Липпман Стенли

2.6.2. Спамооборона для всех Сейчас мы опять обратимся к вопросу о том, как избавиться от спама на "замусоренном" почтовом ящике. Если у вашего провайдера до сих пор отсутствует проверка на спам, и ваш ящик всегда полон ненужными письмами, можете настроить проверку всей вашей


CSS3 – для всех

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

CSS3 – для всех От многих веб-дизайнеров со всего мира я слышу одну и ту же фразу: «Не могу дождаться, хочу начать использовать CSS3… когда его закончат».Правда состоит в том, что можно начинать использовать CSS3 прямо сейчас. К счастью, не нужно перестраивать свое мышление или


1996 г.: война всех против всех

Из книги автора

1996 г.: война всех против всех Избрание Билла Клинтона не повернуло вспять волну дерегулирования. Ему пришлось согласиться, что «эпоха большого правительства» закончена — мнение, которое относилось как к режиму вмешательства властей в экономику, так и к концепции


11.3.4. Перехват всех исключений

Из книги автора

11.3.4. Перехват всех исключений Иногда функции нужно выполнить определенное действие до того, как она завершит обработку исключения, даже несмотря на то, что обработать его она не может. К примеру, функция захватила некоторый ресурс, скажем открыла файл или выделила память


Red Hat: совсем для всех?

Из книги автора

Red Hat: совсем для всех? Если Slackware продолжил исконно UNIX’овую традицию систем для себя, а Debian являет собой первый пример дистрибутива, развиваемого сообществом и для сообщества, то следующим шагом дистроения стало создание дистрибутива, претендующего быть системой для