Perl для системного администрирования



Управление процессами в Unix


Стратегии управления процессами в Unix представляют собой иную ситуацию, включающую несколько вариантов для выбора. К счастью, эти варианты даже отдаленно по своей сложности не напоминают то, что мы видели в NT. В разговоре об управлении процессами в Unix следует иметь в виду три операции:

Нумерацию списка запущенных на машине процессов.

  • Изменение их приоритета или группы.
  • Завершение работы процесса.
  • Для последних двух операций в Perl существуют функции. В случае с первой у нас есть несколько возможностей. Чтобы вывести список запущенных процессов, можно:

  • Вызвать внешнюю программу, например ps
  • Поломать голову над расшифровкой /deu/kmern
  • Изучить файловую систему /ргос

    Использовать модуль Ргос: : ProcessTable

    Обсудим каждый из этих подходов. Нетерпеливым читателям могу сказать прямо сейчас, что я сам предпочитаю модуль Ргос : : ProcussTai,-1е, и вы можете пропустить все рассуждения и перейти сразу к рассказу о его использовании. Но рекомендую все же прочитать материал и о других технологиях, т. к. в будущем они могут вам пригодиться.

    Вызов внешней программы

    Во всех современных вариантах операционной системы Unix есть команда ps, применяемая для получения списка запущенных процессов. Однако в каждом конкретном случае она расположена в различных местах, а аргументы командной строки, которые она принимает, тоже не совпадают. Отсюда и проблема с ее применением: она недостаточно переносима.

    Еще более неприятная проблема - это сложность анализа вывода (который тоже отличается в различных версиях). Вот как выглядит вывод команды ps на машине с SunOS:

    USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND

    dnb 385 0.0 0.0 268 0 p4 IW Jul 2 0:00 /bin/zsh

    drib 24103 0.0 2.610504 1092 p3 S Aug 10 35:49 emacs

    dnb 389 0.0 2.5 3604 1044 p4 S Jul 2 60:16 emacs

    remy 15396 0.0 0.0 252 0 p9 IW Jul 7 0:01 -zsn (zsh)

    sys 393 0.0 0.0 28 0 7 IW Jul 2 0: 02 in, ider.td

    dnb 29488 0.0 0.0 68 0 p5 IW 20:15 0:00 scree:

    dnb 29544 0.0 0.4 24 148 p7 R 20:39 0:00 less

    dnb 5707 0.0 0.0 260 0 p6 IW Jul 24 0,00 -)




    Содержание  Назад  Вперед