Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Страницы справочного руководства ОС UNIX на русском : man pgrep(1), pkill(1)


Информационный Канал Subscribe.Ru

Выпуск 122

Учебный курс "Основы ОС UNIX"

Уважаемые подписчики!

Публикация материалов курса завершена. В одном из следующих выпусков я дам ссылку на полную версию курса в виде одного HTML-файла с содержанием.

В предыдущем выпуске рассылки я просил вас прислать отзывы об этих материалах, и я их получил. Один восторженный, но однострочный отзыв в гостевой, благодарность и предложение пива, когда буду в Киеве (я там живу ;) и одно достаточно обстоятельное письмо. Смысл этого письма сводился к тому, что прочитавшему книгу Кернигана и Пайка этот курс ничего не даст, превзойти авторов UNIX в описании ее основных возможностей нельзя, а книг по основам UNIX-подобных ОС, описывающих пользовательские утилиты, и без моей публикации хватает... В результате, уж лучше бы я продолжал переводить страницы справочного руководства...

Я и буду продолжать, уделяя основное внимание ОС Solaris. Хочу только объяснить, зачем вообще я публиковал "Основы ОС UNIX".

Во-первых, переводить летом страницы справочного руководства мне хотелось еще меньше, чем вам за такие переводы платить... Кстати, продолжать публиковать отдельно полные переводы всех страниц по базовым пользовательским командам я тоже не считаю нужным - о них информации много, а специфики того же Solaris 8 - мало. Но не закрывать же рассылку на лето! Тут и пригодились второй год валяющиеся без дела учебные материалы, которые я первым же слушателям курса обещал опубликовать.

Во-вторых, грамотных и толковых книг по основам ОС UNIX не так уж много, и не все в 1992 году прочитали Кернигана и Пайка, или смогут найти эту книгу в библиотеке. Я не хочу, однако, чтобы вы продолжали платить за книги, не особо грамотно переведенные с английского людьми, UNIX-подобной ОС ни разу в жизни не использовавшими...

В-третьих, я пытался продемонстрировать, как наличие проекта, подобного моему, может помочь в изучении ОС UNIX и при публикации других, более нужных книг. На многие опубликованные здесь полные переводы страниц справочного руководства в учебный материалах даны ссылки. На описания некоторых команд в опубликованных материалах я буду ссылаться в дальнейших выпусках рассылки. Это просто элемент "русскоязычной" UNIX-культуры, не более того.

Программа развития рассылки

В ближайшие пару месяцев я займусь переводом следующих страниц справочного руководства Solaris 8:

  • nsswitch.conf(4)
  • priocntl(1)
  • proc(1)
  • resolv.conf(4)
  • ps(1)
  • snoop(1M)
  • system(4)
  • passwd(4)
  • shadow(4)
  • netstat(1M)

Примерно в таком порядке они и будут опубликованы. Дальше - посмотрим.

Это не значит, что тематику нельзя изменить. Если хотите увидеть переведенным в ближайшее время что-то другое, обращайтесь. На опубликованных ранее "коммерческих" условиях я готов пойти вам на встречу. Ваши просьбы о переводе, если они появятся, отправляйте мне по адресу valera@openxs.kiev.ua.


Получил я недавно просьбу выслать весь архив рассылки по электронной почте. Я не буду этого делать, разве что, вы заплатите за это определенную сумму... Все страницы свободно доступны на сайте рассылки и через службу Subscribe.ru. Найти шлюз, который вышлет вам почтой страницу с указанного URL совершенно бесплатно, - тоже не сложно. Пользуйтесь поисковыми системами.

man pgrep(1) и pkill(1)

Сегодняшний выпуск посвящен командам pgrep(1) и pkill(1), позволяющим выдавать список идентфикаторов процессов или посылать сигналы процессам, имя и атрибуты которых соответствуют заданным критериям. Перевод выполнен 3 сентября 2003 года по справочному руководству Solaris 8.


pgrep(1)

НАЗВАНИЕ

pgrep, pkill - найти процесс или послать сигнал процессу по имени и другим атрибутам

СИНТАКСИС

pgrep [ -flnvx ] [ -d разделитель ] [ -P список_ppid ] [ -g список_групп ]
   [ -s список_sid ] [ -u список_euid ] [ -U список_uid ]
   [ -G список_групп ] [ -J список_projid ] [ -t список_терминалов ]
   [ -T список_taskid ] [ шаблон ]

pkill [ -сигнал ] [ -fnvx ] [ -P список_ppid ] [ -g список_групп ]
   [ -s список_sid ] [ -u список_euid ] [ -U список_uid ]
   [ -G список_групп ] [ -J список_projid ] [ -t список_терминалов ]
   [ -T список_taskid ] [ шаблон ]

ОПИСАНИЕ

Утилита pgrep просматривает активные процессы в системе и выдает идентификаторы процессов, атрибуты которых соответствуют указанным в командной строке критериям. Каждый идентификатор процесса выдается в десятичном виде и отделяется от следующего идентификатора строкой-разделителем (по умолчанию используется символ перевода строки). Для каждого атрибута пользователь может в командной строке указать набор возможных значений через запятую. Например:

pgrep -G other,daemon

Эта команда выдает процессы, реальный идентификатор группы которых имеет значение other ИЛИ daemon. Если указано несколько критериев поиска, утилита pgrep ищет процессы, атрибуты которых соответствуют всем критериям. Например:

pgrep -G other,daemon -U root,daemon

Эта команда выдает процессы, у которых:

 
(реальный идентификатор группы - other ИЛИ daemon) И  
(реальный идентификатор пользователя - root ИЛИ daemon) 

Утилита pkill работает аналогично pgrep, но каждому соответствующему критериям поиска процессу посылается сигнал, аналогично kill(1), вместо выдачи идентификатора процесса. Имя или номер сигнала можно указать как первую опцию командной строки pkill.

ОПЦИИ

Поддерживаются следующие опции:

-d разделитель
Задает строку-разделитель результатов, которая выдается между идентификаторами соответствующих процессов. Если опция -d не указана, выдается символ новой строки. Опцию -d можно задавать только утилите pgrep.

-f
Шаблону (который задается как регулярное выражение) должна соответствовать полная строка аргументов процесса (получается из поля pr_psargs в файле /proc/nnnnn/psinfo). Если опция -f не указана, шаблону должно соответствовать только имя выполняемого файла (которое получается из поля pr_fname файла /proc/nnnnn/psinfo).

-g список_групп
Выбирает только процессы, идентификатор группы которых входит в заданный список. Если список включает группу 0, это значение интерпретируется как идентификатор группы соответствующего процесса pgrep или pkill.

-G список_групп
Выбирает только процессы, реальный идентификатор группы которых входит в заданный список. В качестве идентфикатора группы можно задавать либо ее имя, либо ее числовой идентификатор.

-J список_projid
Выбирает только процессы, идентификатор проекта которых входит в заданный список. Проекты можно задавать по имени или по числовому идентификатору проекта.

-l
"Длинный" формат выдачи результатов. Для каждого выбранного процесса помимо идентификатора выдает имя. Имя процесса получается из поля pr_psargs или pr_fname, в зависимости от того, была ли указана опция -f (см. выше). Опцию -l можно задавать только для утилиты pgrep.

-n
Выбирает только самый новый (созданный последним) процесс, удовлетворяющий остальным критериям.

-P список_ppid
Выбирает только процессы, идентификатор родительского процесса которых входит в указанный список.

-s список_sid
Выбирает только процессы, идентификатор сеанса которых входит в заданный список. Если в список входит идентификатор 0, это значение интерпретируется как идентификатор сеанса соответствующего процесса pgrep или pkill.

-t список_терминалов
Выбирает только процессы, связанные с одним из терминалов в указанном списке. Каждый терминал задается как имя соответствующего специального файла устройства в каталоге /dev. Например, term/a или pts/0.

-T список_taskid
Выбирает только процессы, идентификатор задачи которых входит в заданный список. Если в список входит идентификатор 0, это значение интерпретируется как идентификатор задачи соответствующего процесса pgrep или pkill.

-u список_euid
Выбирает только процессы, эффективный идентификатор пользователя которых входит в указанный список. В качестве идентификатора пользователя можно задавать регистрационное имя или числовой идентификатор.

-U список_uid
Выбирает только процессы, реальный идентификатор пользователя которых входит в указанный список. В качестве идентификатора пользователя можно задавать регистрационное имя или числовой идентификатор.

-v
Обращает критерии выбора процессов. Выбирает все процессы, кроме удовлетворяющих заданным критериям поиска.

-x
Выбирает только процессы, строка аргументов или имя выполняемого файла которых точно соответствует заданному шаблону. Соответствие шаблону считается точным, когда все символы в строке аргументов процесса или имени выполняемого файла соответствуют шаблону.

-сигнал
Задает сигнал, который будет послан каждому из выбранных процессов. Если сигнал не указан, посылается сигнал SIGTERM. В качестве значения сигнала можно задавать одно из символьных имен, которые определены на странице справочного руководства signal(3HEAD), но без префикса SIG, или соответствующий номер сигнала в десятичном виде. Опция -сигнал может передаваться только как первая опция утилиты pkill.

ОПЕРАНДЫ

Поддерживается следующий операнд:

шаблон
Задает расширенное регулярное выражение (Extended Regular Expression - ERE), которому должно соответствовать имя выполняемого файла или вся строка аргументов процесса. Полное описание синтаксиса расширенных регулярных выражений см. на странице справочного руководства regex(5).

ПРИМЕРЫ

Пример 1: Получение идентификатора процесса

Получить идентификатор процесса sendmail:

 
example% pgrep -x -u root sendmail 
283 

Пример 2: Завершение процесса

Завершить работу последнего запущенного окна xterm:

 
example% pkill -n xterm 

СТАТУС ВЫХОДА

Утилиты завершают работу со следующими статусами выхода:

0 Выбран один или несколько процессов.
1 Ни один процесс не соответствует критериям.
2 Указана недопустимая опция командной строки.
3 Произошла фатальная ошибка.

ФАЙЛЫ

/proc/nnnnn/psinfo
файлы информации о процессах (nnnnn - идентификатор процесса)

АТРИБУТЫ

Описание следующих атрибутов см. на странице справочного руководства attributes(5):

ТИП АТРИБУТА ЗНАЧЕНИЕ АТРИБУТА
Доступен в пакете SUNWcsu

ССЫЛКИ

kill(1), proc(1), ps(1), truss(1), kill(2), signal(3HEAD), proc(4), attributes(5), regex(5)

ПРИМЕЧАНИЯ

Обе утилиты сопоставляют с шаблоном в виде расширенного регулярного выражения значения в полях pr_fname или pr_psargs файлов /proc/nnnnn/psinfo. Длина этих строк ограничена в соответствии с определениями в файле <sys/procfs.h>. Шаблоны, которым могут соответствовать более длинные строки, могут не дать при выборе требуемого набора процессов.

Если аргумент шаблон содержит метасимволы расширенных регулярных выражений, являющиеся также метасимволами командного интерпретатора, модет понадобиться замаскировать шаблон, взяв его в соответствующие кавычки.

Процессы, завершенные, но еще не удаленные из таблицы процессов (defunct), никогда не выбираются утилитами pgrep и pkill.

Текущий процесс pgrep или pkill никогда не учитывает себя при выборе.

Последнее изменение: 10 января 2000 года

Copyleft (no c) - Fuck copyright!, 2003 В. Кравчук, OpenXS Initiative, перевод на русский язык


В следующем выпуске

Скорее всего, перевод man nsswitch.conf(4) ОС Solaris 8. Следите за новостями на сайте рассылки.

С наилучшими пожеланиями,

  В.К.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное