Книга: Windows Script Host для Windows 2000/XP
Свойство Status
Свойство Status
После запуска дочернего процесса сценарий-родитель продолжает выполняться асинхронно, поэтому необходимо уметь определять, выполняется ли еще запущенная задача, или она уже завершена. Для этой цели используется свойство Status
: если значение Status
равно 0, то это означает, что дочерний процесс находится в стадии выполнения, если Status
равно 1, то запущенная задача уже завершена. Например, в результате выполнения приведенного в листинге 1.26 сценария ChildStatus.js на экран выведется несколько строк "Команда еще выполняется" (рис. 1.12).
Листинг 1.26. Контроль состояния дочернего процесса
/*****************************************************************/
/* Имя: ChildStatus.js */
/* Язык: JScript */
/* Описание: Контроль состояния дочернего процесса */
/*****************************************************************/
var WshShell,theJob;
//Создаем объект WshShell
WshShell=WScript.CreateObject("WScript.Shell");
//Запускаем дочернее приложение
theJob = WshShell.Exec("xcopy /?");
for (;;) {
if (theJob.status==1) //Проверяем завершение дочернего процесса
break; //Выходим из цикла
else WScript.Echo("Команда еще выполняется");
}
WScript.Echo("Выполнение завершено");
/************* Конец *********************************************/
Рис. 1.12. Результат выполнения сценария ChildStatus.js