Журнал «Компьютерра» № 5 за 7 февраля 2006 года
Шрифт:
Media:\Slayer\Reign In Blood> ls
Number Name AlbumName ArtistName Year
– – – –
1 Angel of Death Reign In Blood Slayer 1986
2 Piece By Piece Reign In Blood Slayer 1986
3 Necrophobic Reign In Blood Slayer 1986
Что же дает Monad различным категориям пользователей? Программисты, например, смогут ускорить реализацию интерфейсов управления к разрабатываемым системам. Для того чтобы создать новую команду, достаточно унаследовать свой класс от класса Cmdlet и вызвать из него специфичную функцию системы (см. врезку). Отметим, что,
Администраторам разнородных сетей, безусловно, будет удобнее управлять Windows-системами, с помощью привычного интерфейса командной строки. Инструменты управления DNS и Active Directory с навигацией, реализованной в виде иерархической структуры, тоже разрабатываются, и их можно найти в Интернете.
Администраторы смогут скомпоновать из разных блоков командную оболочку для определенных типов задач. Ее можно указать в качестве сценария запуска (login shell) при входе определенной группы пользователей в систему – локально или удаленно. Тем самым можно ограничивать функции, доступные пользователям, а требования к пропускной способности канала в случае распределенной системы будут минимальными, достаточными для протокола telnet.
Ну а продвинутые юзеры, знающие .NET или использующие готовые скрипты (см. ссылки в конце статьи), получают мощный инструмент управления системой и повышения эффективности работы. Не должно вызвать трудностей и освоение команд и синтаксиса нового языка, так как их именование стандартизовано.
Не могу удержаться от соблазна сразу же привести пример. Людям, знающим предметную область, он многое объяснит.
Требуется написать скрипт, принудительно завершающий в системе три процесса, которые отъедают наибольшее количество процессорного времени и у которых значение этого параметра больше трех.
Я попросил специалиста Unix shell быстро, не зарываясь в man, написать такой скрипт.
Решение SH:
%>ps -A -sort ‘%cpu’ -format ‘%cpu,pid’ | egrep -v ‘^ (0|1|2).’ | grep -v ‘%CPU’ | tail –n3 | gawk ‘{print $2;}’ | xargs -r kill
Скрипт написан за семь минут, работает, и я его привожу как есть – без исправлений. Не буду объяснять, как он работает, отмечу лишь, что главной проблемой является необходимость выделения из набора строк, возвращаемых командой ps, нужные нам параметры процессов (в данном случае – процессоное время).
Я уверен, что есть более правильные варианты, но они потребуют детального знания возможностей большого числа утилит.
Решение Monad:
C:\> get-process | where-object { $_.cpu -gt 3 } | sort-object -property cpu | select-object -Last 3 | foreach-object { $_.Kill }
get-process – функция, возвращающая массив объектов типа System.Diagnostics.Process;
where-object – функция условия, которая сравнивает значение свойства с тройкой;
$_ – переменная, содержащая элемент массива – объект класса Process;
sort-object, select-object – сортировка и фильтрация массивов;
foreach-object – выполнить код для каждого элемента, в нашем случае – вызвать метод объекта – Kill
Эту же строку можно написать с использованием алиасов:
C:\> ps | where { $_.cpu -gt 3 } | sort cpu | select -Last 3 | foreach { $_.Kill }
Читаемость варианта Monad даже не имеет смысл сравнивать с SH-скриптом. Написано за минуту.
Не будет преувеличением сказать, что Monad – это качественный скачок, переосмысление накопленного опыта в области управления операционных систем. В заключение несколько слов о том, когда же наступит светлое будущее.
Релиз Monad должен появиться в составе Microsoft Exchange Server 12. Он работает на системах Windows XP, Windows Server 2003 или других системах, поддерживающих .NET Framework 2.0. Beta 3 находится в свободном доступе (download.microsoft.com).
Ссылки
[1]blogs.msdn.com/monad/de-fault.aspx (сайт разработчиков Monad).
[2]www.microsoft.com/tech-net/scriptcenter/hubs/msh.mspx
[3]www.reskit.net/monad.
[4]blogs.gotdotnet.ru/perso-nal/beerbong (блог автора статьи).
[5] Издательство O’Reilly в декабре 2005 года выпустило книгу «Monad» (ISBN: 0-596-10009-4), написанную одним из авторов платформы Энди Оукли (Andy Oakley). Это, пожалуй, самый лучший способ познакомиться с продуктом.
Автор благодарит Константина Беляева за доклады на GotDotNet User Group.
Софтерринки
Автор: Павел Каледа
ОС: Windows
Адрес:www.crazybrowser.com
Версия: 3.0 beta
Размер: 700 Кбайт
Язык: английский
Цена: бесплатно
Как и большинство современных браузеров, Crazy Browser основан на вкладках, что позволяет удобнее организовать параллельную работу с несколькими страницами. С помощью заданного сочетания клавиш можно тому или иному слову поставить в соответствие адрес конкретного веб-ресурса и заменять, например, слово computerra на www.computerra.ru.
Интересным решением является группировка: страницы одной группы можно открывать одним кликом. Браузер умеет блокировать всплывающие окна и флэш-ролики, фильтровать контент, а также поддерживает плагины.
ОС: Windows (для Mac ОS X есть программа MacDjView того же автора)
Адрес:windjview.sourceforge.net
Версия: 0.4
Размер: 480 Кбайт
Интерфейс: мультиязычный (в том числе на русском)
Цена: бесплатно
Программа WinDjView служит для просмотра файлов в формате DjVu. Среди ее возможностей – непрерывный и одностраничный режимы просмотра, группировка соседних страниц, вывод списка страниц в виде иконок, создание закладок, поиск и копирование текста, экспорт в BMP, настройка яркости, контраста и гаммы и многое другое. Особенно следует отметить удобный полноэкранный режим. Напомним, что формат DjVu позволяет сохранять документы и картинки высокого качества в файлы небольшого размера.