LINUX.ORG.RU

Книга «Библия Linux. 10-е издание» (Негус К.)

 , ,


5

1

Издательский дом «Питер» предлагает вашему вниманию еще одну книгу — «Библия Linux. 10-е издание», уже доступную для заказа на официальном сайте.

По промокоду LinuxORG действует скидка 30 % на все книги издательства.

Если станет доступна электронная версия этой книги, то при покупке физической копии вы получите ее в подарок.

«Библия Linux» рассказывает, как:

  • приступить к работе с Linux;

  • защитить системы и сети с Linux;

  • реализовать автоматизацию дата-центра с помощью Ansible;

  • упростить системное администрирование с помощью Cockpit;

  • получить доступ к командной оболочке и писать простые скрипты;

  • изучить контейнеризацию с применением Docker и Podman и, в частности, оркестрацию контейнеров с использованием Kubernetes и OpenShift;

  • конфигурировать различные серверы и устранять распространенные проблемы;

  • создавать виртуальные машины Linux, работающие на гипервизорах и облачных платформах.

Ниже представлен отрывок из книги.

Управление активными процессами

Linux не только многопользовательская, но и многозадачная операционная система. Многозадачность означает, что много программ могут выполняться одновременно. Экземпляр запущенной программы называется процессом. Linux позволяет перечислять запущенные процессы, мониторить использование системы и прерывать (убивать) процессы по необходимости.

Из оболочки можно запускать процессы, а затем приостанавливать, останавливать или завершать их. Их можно также выполнять в обычном или фоновом режимах. В этой главе описываются команды ps, top, kill, jobs и др., которые позволяют перечислять процессы и управлять ими.

Что такое процесс

Процесс — это запущенный экземпляр команды. Например, в системе может быть одна команда vi. Однако если с vi работают одновременно 15 пользователей, то она представлена 15 различными запущенными процессами.

Процесс идентифицируется в системе с помощью так называемого идентификатора процесса (PID). Этот PID уникален для текущей системы. Другими словами, ни один прочий процесс не может использовать этот номер в качестве идентификатора процесса, пока первый процесс работает. Однако после завершения первого процесса другой процесс может повторно задействовать это число.

У процесса есть не только идентификатор, но и другие атрибуты. Каждый выполняемый процесс связан с определенной учетной записью пользователя и учетной записью группы. Информация об учетной записи помогает определить, к каким системным ресурсам процесс может получить доступ. Например, у процесса, запущенного от имени суперпользователя, доступ к системным файлам и ресурсам больший, чем у процесса, запущенного от имени обычного пользователя.

Системному администратору Linux необходимо уметь управлять процессами, протекающими в системе. Иногда запущенные процессы могут привести к снижению производительности системы. Управление процессами, которые используют память и процессор, также будет описано в данной главе.

ПРИМЕЧАНИЕ Команды, отображающие информацию о запущенных процессах, получают бóльшую часть этой информации в виде необработанных данных, хранящихся в файловой системе /proc. Каждый процесс хранит свою информацию в подкаталоге /proc с именем идентификатора этого процесса. Часть необработанных данных можно просмотреть, отобразив содержимое файлов в одном из этих каталогов (используя команды cat или less).

Перечисление процессов

Команда ps — одна из первых и наиболее распространенных команд для перечисления процессов, запущенных в данный момент в системе. Linux-версия команды ps содержит множество параметров из устаревших систем UNIX и BSD, часть из которых конфликтуют и реализуются нестандартными способами. На справочной странице ps представлена информация об этих параметрах.

Команда top, которая также перечисляет процессы, больше ориентирована на экран и может служить для изменения статуса процессов. В интерфейсе GNOME можно использовать утилиту System Monitor (Системный монитор), которая отслеживает процессы в системе и представляет информацию с помощью графических средств. Эти команды будут описаны в следующих разделах.

Перечисление процессов с помощью команды ps

Наиболее распространенная команда для проверки запущенных процессов — это ps. Она позволяет посмотреть, какие программы запущены, какие ресурсы они используют и кем были запущены. Пример работы команды ps:

$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
jake 2147 0.0 0.7 1836 1020 tty1 S+ 14:50 0:00 -bash
jake 2310 0.0 0.7 2592 912 tty1 R+ 18:22 0:00 ps u 

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

В примере в этом сеансе оболочки событий немного. Первый процесс показывает, что пользователь по имени jake открыл оболочку bash после входа в систему. Следующий процесс показывает, что jake выполнил команду ps u. Терминал tty1 используется для входа в систему. Столбец STAT отображает статус процесса, указывая, запущен ли процесс (R) или находится в спящем режиме (S).

ПРИМЕЧАНИЕ В столбце STAT могут отображаться несколько значений. Например, знак плюс (+) указывает, что процесс связан с операциями, протекающими в обычном режиме.

В столбце USER отображается имя пользователя, запустившего процесс. У каждого процесса есть номер, называемый идентификатором процесса, или PID. Задействуйте PID, если нужно убить процесс или отправить другой сигнал процессу. Столбцы CPU и MEM показывают процентное соотношение работы процессора и оперативной памяти, которые использует текущий процесс.

VSZ (виртуальный размер процесса) показывает размер процесса изображения (в килобайтах), а RSS (размер страниц памяти) — размер программы в памяти. Значения VSZ и RSS могут различаться, потому что VSZ — это объем памяти, выделенный для процесса, тогда как RSS — это объем, который используется фактически. RSS-память представляет собой физическую незаменяемую память.

Столбец TART показывает время начала выполнения процесса, а TIM — совокупное используемое системное время. (Большинство команд потребляет мало процессорного времени, для тех, которые не использовали и секунды, время отражается как 0:00.)

Многие запущенные на компьютере процессы не связаны с терминалом. Обычно в системе Linux множество процессов работает в фоновом режиме. Фоновые системные процессы выполняют различные задачи, к примеру измеряют активность системы или изучают данные из сети. Они часто запускаются при загрузке Linux и работают непрерывно, пока система не выключится. Аналогично вход на рабочий стол Linux запускает многие фоновые процессы, к примеру процессы управления аудио, панели рабочего стола, аутентификацию и другие функции рабочего стола. Чтобы просмотреть все процессы, запущенные в системе Linux для текущего пользователя, добавьте в ps ux конвейер (|) и команду less:

$ ps ux | less

Чтобы просмотреть все процессы, запущенные для всех пользователей системы,используйте команду ps aux следующим образом:

$ ps aux | less

Конвейер | (на клавиатуре располагается над символом обратной косой черты) позволяет направлять вывод одной команды на вход следующей. В этом примере выходные данные команды ps (список процессов) направляются в команду less, которая позволяет просматривать эту информацию на странице. Нажимайте клавишу Пробел, чтобы пролистать страницу, и введите q, чтобы закончить список. Можно также применять клавиши со стрелками для перемещения по строкам вывода данных.

Команда ps может отображать выбранные столбцы информации и сортировать информацию по одному из этих столбцов. Используя параметр -o, можно добавить ключевые слова для указания столбцов, которые нужно перечислить с помощью команды ps. Далее в примере отображаются все запущенные процессы (-e), а за ними следует параметр -o для каждого столбца, содержащего нужную информацию, включая идентификатор процесса (pid), имя пользователя (user), идентификатор пользователя (uid), название группы (group), идентификатор группы (gid), количество выделенной виртуальной памяти (vsz), количество резидентной памяти (rss) и запущенную командную строку (come).

По умолчанию выходные данные сортируются по номеру процесса (PID):

$ ps -eo pid,user,uid,group,gid,vsz,rss,comm | less
PID USER UID GROUP GID VSZ RSS COMMAND
1 root 0 root 0 187660 13296 systemd
2 root 0 root 0 0 0 kthreadd

Если нужно отсортировать данные иначе, примените параметр sort=. Например, чтобы увидеть, какие процессы используют больше всего памяти, я сортирую список по столбцу vsz от меньшего к большему. Поскольку мне сначала нужно увидеть самые затратные процессы, я поставил дефис перед параметром сортировки (sort=-vsz):

$ ps -eo pid,user,group,gid,vsz,rss,comm --sort=-vsz | head
PID USER GROUP GID VSZ RSS COMMAND
2366 chris chris 1000 3720060 317060 gnome-shell
1580 gdm gdm 42 3524304 205796 gnome-shell
3030 chris chris 1000 2456968 248340 firefox
3233 chris chris 1000 2314388 316252 Web Content

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

Об авторе

Кристофер Негус — главный специалист по разработке и написанию технической документации в компании Red Hat, Inc. За более чем десять лет работы в Red Hat Крис помог сотням ИТ-специалистов стать сертифицированными инженерами Red Hat (RHCEs) и написал множество технических руководств на различные темы, от Linux до виртуализации, облачных вычислений и контейнеризации.

До прихода в компанию Red Hat Крис написал десятки книг по Linux и UNIX, включая Red Hat Linux Bible (все издания), Docker Containers, CentOS Bible, Fedora Bible, Linux Troubleshooting Bible, Linux Toys, Linux Toys II и девять изданий «Библии Linux». Он также был соавтором нескольких книг из серии Linux Toolbox для опытных пользователей: Fedora Linux Toolbox, SUSE Linux Toolbox, Ubuntu Linux Toolbox, Mac OS X Toolbox и BSD UNIX Toolbox.

Еще до начала писательской деятельности Крис в течение восьми лет работал в организации AT&T, разработавшей операционную систему UNIX, а в начале 1990-х годов переехал в Юту, чтобы внести свой вклад в проект Novell UnixWare.

>>> Подробности



Проверено: hobbit ()

Взял бы для реализации, но боюсь что у нас такое не пользуется спросом.

ZenitharChampion ★★★★★ ()

Кристофер Негус

По названию подумал что Фленов.

NAY_GIGGER ()

На Линуса зря нападают.
РЕСПЕКТ ЕМУ!

anonymous ()
Ответ на: комментарий от NAY_GIGGER

Воистину глаголишь! Грядет апокалинупсец!

anonymous ()
Ответ на: комментарий от NAY_GIGGER

Посоны, подскажите плиз, почему моя убунточка с кавайными кедиками стала ребутаться с каждым апдейтом? Даже когда скажем пакет архиватора обновляется. Я раньше думал, что такое только в богомерском шиндавс возможно. А оно воно теперь как все повернулось!

anonymous ()

Нашёл на vk.com оригинал на английском. Заглянул в оглавление, а там:

Chapter 2: Creating the Perfect Linux Desktop

Сразу стало очень смешно.

Далее перешёл в сам Chapter 2, а там:

IN THIS CHAPTER
   Understanding the X Window System and desktop environments
   Running Linux from a Live DVD image
   Navigating the GNOME 3 desktop
   Adding extensions to GNOME 3
   Using Nautilus to manage files in GNOME 3
   Working with the GNOME 2 desktop
   Enabling 3D effects in GNOME 2

Стало совсем грустно.

hummer ()

негодую!

Издательский дом «Питер» предлагает вашему

когда уже изжательский дом накопит на покупку нормального редактора? Горы ошибок, опечаток, не точностей в переводе…

ну и «переиздания»: дату на первых страницах поменяли и пожалуйста - новая книга.

anonymous ()

«Библия Linux» рассказывает, как:
• приступить к работе с Linux;
...
• получить доступ к командной оболочке и писать простые скрипты;
• конфигурировать различные серверы и устранять распространенные проблемы;
• создавать виртуальные машины Linux, работающие на гипервизорах и облачных платформах.

всё ясно, дальше можно не читать

superuser ★★★ ()

прямое свидетельство, что GNU уже в прошлом.

crypt ★★★★★ ()
Ответ на: комментарий от x-signal

Поттеринг - еретик!

А слово еретик произошло от - теоретик …

anonymous ()
Ответ на: комментарий от x-signal

Поттеринг - еретик! UNIX - Ветхий завет, Linux - Новый, Линус - Мессия

Кисс Кук - АнтихристЪ

anonymous ()

Совершенно бесполезное издание. Тем, кто уже поставил линукс - уже не пригодится, а тем, кто не поставил - ещё не пригодится.

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

И что, спросите вы? Чего ты чел дорогой, достиг в результате?

А то, что я сейчас не плюю в сторону MS, как нувориш какой-то. Есть задачи которые проще сделать в винде, а есть которые проще сделать в линуксе.

Приведу реальный пример: как и чем проще соединить два компа по локалке, причём через домашний wi-fi, чтобы перекинуть туды-сюды гигов 50-100? Честно скажу, в винде, особенно разных версий (7 и 10) - устанешь дерьмо лопатой грести. Причём это мягко сказано. А воткнув в один из них флешку с линуксом, а на втором sshd - дело 5 минут.

С другой стороны, некоторое время избавлял заблоченные смартофоны от FRP гугла. Тут без винды реально это делать неудобно. ADB имеется в линуксе конечно, но сделано через жопу, как всегда.

cadaber ★★ ()
Ответ на: комментарий от lvdm1

Где это можно купить?

Шашлык /здесь тред о шашлыках/?

anonymous ()

The GNOME 3 desktop offers a radical departure from its GNOME 2.x counterparts. GNOME 2.x is serviceable, but GNOME 3 is elegant.

Это GNOME 3 у них элегантный? К тому же GNOME 3 уже неактуален, то есть книга устарела ещё в процессе перевода.

hummer ()
Ответ на: комментарий от lvdm1

Где можно купить умение написать в поисковой строке: библия linux купить?!

anonymous ()
Ответ на: комментарий от lvdm1

Вообще рекомендую книги Питера покупать у них же на сайте, или в my-shop(оба варианта самые дешёвые как правило), но по моему - книжечка средненькая, хотя может быть полезна начинающим пользователям.

AKonia ★★ ()
Ответ на: комментарий от Devastator

Рекомендую покупать книги на Амазоне Рекомендую пользоваться поиском и находить наиболее выгодные прежложения на рынке.

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

anonymous ()

Снова 999 страниц пустого текста в плохом переводе?

sparkie ()

По промокоду LinuxORG действует скидка

Не ожидал такого.

Odalist ★★★★★ ()
Ответ на: комментарий от superuser

Раньше помню была такая серия «…for Dummies», видимо теперь это библия называется. :)

ssh2 ★★★ ()
Ответ на: комментарий от anonymous

Благодаря … поттерингу скоро поимеем возрожденный слор.

тогда уж сдор // очень символичненько получается

anonymous ()
Ответ на: негодую! от anonymous

Re: негодую!

Горы ошибок, опечаток, не точностей Сначала русский язык выучи, знаток

anonymous ()

Вау, «Введение в начала основ Linux для случайных посторонних людей», вариант №666.

thesis ★★★★★ ()
Ответ на: комментарий от ssh2

а вот так можно:

Shaman007, hobbit вы вообще как, заметили, что в рекламном треде про бесполезный перевод появился какой-то ньюрег и пошел нацпол? или подождем 10 страниц всеравно по теме обсуждать нечего?

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от Shaman007

а я из модераторов только тебя смог запомнить;)

p.s.

стал известным - отдувайся)

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от anonymous

Что это такое?

Это аналог серии книг «Windows для чайников», только должно называться «Linux. Администрирование для чайников» или «Linux. Администрирование за 15 дней».

Странно, что выпускает «Издательский дом «Питер»», а не skillbox

drfaust ★★★★★ ()

Куплю пожалуй. Пусть будет для истории.

beck ★★ ()
Ответ на: комментарий от anonymous

подскажите плиз, почему моя убунточка с кавайными кедиками стала ребутаться с каждым апдейтом?

В вопросе твоём сарказм, юный падаван, я вижу.

beck ★★ ()
Последнее исправление: beck (всего исправлений: 1)

Этот PID уникален для текущей системы. Другими словами, ни один прочий процесс не может использовать этот номер в качестве идентификатора процесса, пока первый процесс работает.


Да даже если первый процесс помрёт, НИКТО не может «использовать PID», ибо его назначает система!

И это б***** библия?!?!!? Это параша какая-то! Даже в элементарных вещах объяснения лажают.

matumba ★★★★★ ()
Ответ на: комментарий от anonymous

Буагого! Молодец! Только сначало «Исход» будет.

splinter ★★★★★ ()
Ответ на: комментарий от matumba

Вот такой вот перевод. Мдя.

Они, я так понимаю, имели в виду, что pid уникален для каждого процесса и система не может присвоить уже занятый pid новому процессу.

beck ★★ ()
Последнее исправление: beck (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.