Тема : Управление на процеси в Windows
Цели:
•Запознаване с Windows Task Manager.
•Запознаване с файловете за пакетна обработка (batch files).
•Запознаване с JScript.
•Създаване и управление на процеси чрез Windows Task
Manager, Batch Files и JScript.
I.Теоретична постановка
I.1.Команден шел на Windows XP/Windows Vista
Командният шел е отделна софтуерна програма, която осигурява
директна комуникация между потребителя и операционната система.
Потребителския интерфейс на командния шел е базиран на текстов
режим и представлява среда, в която могат да се стартират конзолни
приложения и помощни програми. Командният шел изпълнява
програми и извежда резултатите от тяхното изпълнение по начин,
подобен на начина, по който работи командния интерпретатор на MS-
DOS. Командният шел на Windows XP/Vista използва командния
интерпретатор Cmd.exe, който зарежда приложенията и "превежда"
въведените от потребителя данни и команди команди в разбираема за
операционната система форма.
Командният шел може да бъде използван за създаване на така
наречените файлове за пакетна обработка (които още се наричат
скриптове), за да бъдат автоматизирани различни рутинни задачи.
Следният листинг е пример за елементарен файл за пакетна обработка.
Листинг 1
I.2.Windows Script Host
Windows Script Host, CScript.exe, представлява интерпретатор,
чрез който могат да бъдат изпълнявани много по-сложни в сравнение с
файловете за пакетна обработка скриптове. Windows Script Host
предоставя две машини за изпълнени на скриптове - Visual Basic®
Scripting Edition и Microsoft JScript®. В настоящия урок се използва
Microsoft JScript® за създаване на елементарен дъщерен процес.
I.3.Въведение в JScript
JScript е реализация на езиковата спецификация ECMA 262,
създадена и поддържана от Microsoft. С някой дребни изключения,
насочени главно към поддръжка на съвместимост с по-ранни версии,
JScript е много коректна реализация на стандарта ECMA.
I.4.Използване на JScript
JScript е интерпретаторен, обектно-ориентиран скриптов език.
Въпреки, че той разполага с по-малко възможности от пълноценните
обекнтно-ориентирани езици, като C++, JScript е повече от достатъчен
за целите, за които е разработен.
JScript не е опростена версия на някой от известните езици за
програмиране. Той обаче е ограничен. Например, с JScript не може да
се създаде самостоятелно приложение, също така този език няма
вградена поддръжка на операции за четене и запис на файлове. JScript
може да се изпълнява само при наличието на интерпретатор или хост
("host"), например Active Server Pages (ASP), Internet Explorer, или
Windows Script Host.
JScript е нестрого типизиран език. Нестрого типизиран означава,
че типовете данни на променливите не трябва да се декларират
предварително и изрично (или експлицитно, explicitly). В много случаи
JScript прави преобразуване на типовете автоматично. Например, ако
сумирате число и променлива, която съдържа символен тип данни
(string), числото автоматично ще се преобразува в текст.
I.5.Създаване на JScript код
Както много други езици за програмиране, Microsoft JScript
програмите се пишат в най-обикновен текстов формат. Те се състоят от
оператори, блокове от оператори и коментари. В рамките на един
оператор могат да се използват променливи, предварително въведени
данни и изрази.
I.6.Оператори
JScript програмата е набор от оператори. Един JScript оператор
може да бъде сравнен със завършено изречение на Английски език.
JScript операторите съчетават изрази и операции по такъв начин, че те
да изпълнят някаква определена задача.
Един оператор се състои от една или повече ключови думи,
изрази и операции (символи). Обикновено операторът се записва на
един ред, но може да се разпростре на два или повече реда. Също така
два или повече оператора могат да бъдат записани на един ред, като се
разделят със символа ";". Най-общо, всеки нов ред започва нов
оператор, но това не е задължително.
Следват два примера за JScript оператори.
Листинг 2
aBird = "Robin"; // Присвоява текста "Robin" на променливата
aBird
var today = new Date(); // Присвоява текущата дата на
променливата today
Група от JScript оператори, затворени във фигурни скоби ({}) се
нарича блок. Най-общо, операторите групирани в блок се третират като
един оператор. Това означава, че блоковете могат да се използват на
почти всички места, където JScript очаква един оператор. Разбира се
съществуват изключения от това правило, например началните
оператори на циклите "for" и "while". Трябва да се отбележи, че
отделните оператори от един блок завършват с ";", но самият блок - не.
Най-общо, блоковете се използват във функции и в условни
оператори. В следващия пример се дефинира функция, която се състои
от блок от пет оператора. След блока има три оператора, които не са
оградени във фигурни скоби. Тези оператори не са в блок и
следователно не са част от дефиницията на функцията.
Листинг 3
function convert(inches)
{ feet = inches / 12; // These five statements are in a block.
miles = feet / 5280;
nauticalMiles = feet / 6080;
cm = inches * 2.54;
meters = inches / 39.37; }
km = meters / 1000; // These three statements are not in a block.
kradius = km;