Тема: Фоновые задания в Windows PowerShell 2.0  (Прочитано 601 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tyr0I{

  • Учитель
  • ****
  • Сообщений: 1042
  • Поблагодарили: 3 раз(а)
  • Уважение: +1/-0
  • Пол: Мужской
    • Просмотр профиля
Фоновые задания в Windows PowerShell 2.0
« : 12 Март 2016, 05:18:54 »


В данной статье рассмотрим работу с фоновыми заданиями в Windows PowerShell 2.0
Для работы с фоновыми заданиями используются командлеты представленные ниже



У нас есть компьютер с предустановленной Windows 7 (x64) Максимальная
Запустим на данном компьютере экземпляр Windows PowerShell
Выведем список фоновых заданий введя команду Get-Job
Как видим, фоновых заданий на данной машине не запущено



Запустим какое-нибудь фоновое задание используя команду Start-Job
Например получим список служб начинающихся на букву S и отсортируем их по параметру Status в фоновом режиме
Выполним команду Start-Job -ScriptBlock {get-service s* | sort-object status}



После выполнения команды видим, что фоновое задание выполняется под идентификатором id 1. Также можно видеть, что данному фоновому заданию присвоено имя Job1



В фоновом режиме также можно запускать и сценарии. На флеш-накопителе (под буквой E) подключенном к машине с Windows 7 находятся сценарий Servive_status.ps1 а также видео файл Vabank_2.mkv



Запустим сценарий Service_status.ps1 в фоновом режиме выполнив команду Start-Job E:\Service_status.ps1



Как видим, сценарий выполняется в фоновом режиме



Выполним команду Get-Job для просмотра запущенных фоновых заданий
Как видим, у нас есть два выполненных фоновых задания с идентификаторами id 1 и 3



Посмотрим результат выполнения фонового задания с идентификатором id 1 введя команду Receive-Job -Name Job1



Результатом выполнения фонового задания с идентификатором id 1 является вывод служб начинающихся на букву S и отсортированных по параметру Status



Запустим еще одно фоновое задание, которое скопирует видео файл Vabank_2.mkv с флеш-накопителя в папку Films
Выполним команду
Start-Job -ScriptBlock {copy-item E:\Vabank_2.mkv -destination C:\Users\Ro8\Documents\Films}



Как видим, данное фоновое задание с идентификатором id 5 в процессе выполнения



Выполним команду Get-Job для просмотра фоновых заданий. Фоновое задание с идентификатором id 5 в процессе выполнения



Остановим выполнение данного фонового задания выполнив команду Stop-Job -Name Job5, где Job5 - имя фонового задания



Выполнив команду Get-Job видим, что фоновое задание с именем Job5 остановлен



Выполним еще раз команду
Start-Job -ScriptBlock {copy-item E:\Vabank_2.mkv -destination C:\Users\Ro8\Documents\Films}. Фоновое задание запустилось с идентификатором id 7



Далее выполним команду Wait-Job -id 7. После выполнения команды Wait-Job -id 7 для продолжения работы с PowerShell нужно дождаться завершения выполнения фонового задания с идентификатором id 7



Выполнение фонового задания с идентификатором id 7 завершено



Введем команду Get-Job и видим, что за данный сеанс работы с PowerShell у нас есть четыре фоновых задания с идентификаторами id 1,3,5 и 7



Для удаления фоновых заданий используется командлет Remove-Job
Удалим к примеру фоновое задание с идентификатором id 1 введя команду Remove-Job -Name Job1, где  Job1 - имя фонового задания



Выполнив команду Get-Job видим, что фоновое задание с идентификатором id 1 отсутствует



Удалим оставшиеся фоновые задания с идентификаторами id 3,5 и 7 введя команду Remove-Job -id 3,5,7



Выполняем команду Get-Job и видим, что все фоновые задания удалены

Хорошие люди принесут вам счастье, плохие наградят вас опытом, худшие - дадут вам урок, а лучшие - подарят воспоминания. Цените каждого!
 


 


Поиск

 
SimplePortal 2.3.6 © 2008-2014, SimplePortal