Как узнать uid процесса
Список процессов Linux
На сайте уже есть несколько статей про процессы Linux, в которых подробно описано как ими управлять или как завершить один или группу процессов, но это еще не все. Чтобы правильно управлять процессами и ориентироваться в них вам нужно научиться анализировать список процессов Linux, понимать что значит каждый пункт и зачем он нужен.
В этой статье мы подробно рассмотрим как посмотреть список процессов различными способами, разберем какими бывают процессы, почему так происходит и что с этим делать.
Список процессов в Linux
Я не буду подробно рассказывать про каждую команду, которую можно применять для просмотра списка запущенных процессов, вместо этого мы пройдёмся по основным утилитам для решения этой задачи, рассмотрим как посмотреть список потоков процесса, вывести процессы, которые выполняются на определённом ядре, а также как найти скрытые процессы. Но сначала надо разобраться с терминами.
1. Утилита ps
Самый простой способ посмотреть список процессов, запущенных в текущей командой оболочке, использовать команду ps без параметров:
Вот значение основных колонок в выводе утилиты:
Чтобы посмотреть список процессов в виде дерева, и понимать какой процесс имеет какие дочерние процессы, выполните команду:
Для просмотра списка процессов с потоками используйте опцию -L:
Здесь появятся ещё две дополнительных колонки:
Чтобы посмотреть список процессов определенного пользователя, например, sergiy используйте опцию -u:
Теперь давайте перейдём к другим, более интересным, интерактивным утилитам.
2. Утилита top
Утилита top не поставляется вместе с системой, поэтому вам придется её установить. Для этого в Ubuntu выполните:
sudo apt install top
Программа позволяет интерактивно просматривать список запущенных процессов Linux. Чтобы вывести список процессов Linux выполните команду:
Колонки, которые выводит программа очень похожи на ps:
Для того чтобы сделать вывод программы цветным, нажмите Z:
Чтобы вывести дерево процессов Linux нажмите сочетание клавиш Shift+V:
Для отображения потоков нажмите Shift + H:
Если вам недостаточно стандартных полей с информацией о процессах, вы можете нажать Shift + F и выбрать дополнительные поля, которые надо отображать. Для выбора или удаления поля используйте пробел:
3. Утилита htop
Это ещё более мощная утилита для просмотра запущенных процессов в Linux. Пользоваться ею намного удобнее. Здесь поддерживаются не только горячие клавиши, но и управление мышью. А ещё она выводит всё в цвете, поэтому смотреть на данные намного приятнее. Для установки программы выполните:
sudo apt install htop
Для того чтобы запустить выполните в терминале:
Колонки, которые вы увидите в выводе программы, аналогичны тем, что доступны в top, поэтому я не буду рассматривать их здесь отдельно. Для настройки выводимых данных нажмите кнопку F2, затем перейдите в раздел Display Options:
Для того чтобы настроить какие колонки будут отображаться используйте пункт меню Columns:
Тут вы можете выбрать какие колонки отображать, а какие нет, а также можете настроить их порядок.
4. Программа Gnome Monitor
Вы можете смотреть запущенные процессы не только в терминале, но и в графическом интерфейсе. Для этого можно использовать утилиту Gnome Monitor. У неё намного меньше возможностей, по сравнению даже с ps, но зато у неё есть графический интерфейс. Вы можете запустить программу из главного меню системы:
По умолчанию утилита отображает только процессы текущего пользователя. Если вы хотите получить все процессы кликните по иконке бутерброда и выберите Все процессы:
Теперь программа отображает все запущенные процессы Linux в системе. Здесь вы можете выполнять поиск по процессам, завершать их и многое другое. Но потоков и дерева процессов программа не показывает.
5. Утилита atop
sudo apt install atop
Затем запустите её:
Вот основные колонки, которые выводит утилита и их значения:
Для того чтобы включить отображение потоков процесса нажмите y:
Для просмотра информации о памяти нажмите m, если хотите вернутся обратно, нажмите g:
Выводы
В этой статье мы разобрали самые основные способы посмотреть список процессов в Linux, как видите есть простые способы, но есть и более сложные и информативные. Какими способами вы пользуетесь чаще всего? Напишите в комментариях!
Процессы Linux. Управление процессами. Часть 1: Мониторинг
Привет, друг! Я думаю тебя не сильно удивит, если я провокационно заявлю что операционная система Linux довольна проста в использовании. Я имею ввиду в повседневном. Конечно же профессиональные оконщики со мной не согласятся и смогут привести массу аргументов. Большая часть из которых будет начинаться со слова терминал. Не знаю к чему я это написал… Я вообще хотел написать про другое. А именно про то что если ты собираешься что-то понимать в хацкерстве или в чём-то подобном, то с Linux дело придется иметь. А чтобы дело имелось комфортн0, не плохо было бы разобраться и научится этим всем пользоваться. Ну ещё лучше конечно начать понимать как всё это работает, но это уже «next level», так сказать. Мы с тобой конечно к этому придём. Но потом. А сейчас будем изучать процессы Linux.
Мы как то уже разбирались с основами. Были статьи где мы научились работать с сетью (ТУТ) и разобрали структуру файловой системы Linux, одновременно разобравшись как работать с файлами и каталогами (ТУТ). Но, как ты понимаешь, это капля в море. Потому продолжим изучать основы Linux. И сегодня поговорим о такой немаловажной штуке как процессы Linux и о том как ими управлять.
И так как теория без практики мертва (или наоборот, не помню) то, для начала, совсем немного скучной и унылой теории. Ну и со знанием теории пояснять красноглазым за линуксоидность всяко легче будет. Ну а потом сразу перейдём в терминал и, как мощные хацкеры, будем в него чёто писать.
Что такое процессы в Linux
Итак, что тебе нужно знать о процессах? Только то что любой процесс — это исполняемая программа. На этом всё, можешь переходить к той части где я буду показывать как с ними работать. Но если всё же, хочется чуть больше теории, то читай дальше. По свой сути процесс это некое общее определение механизма позволяющего управлять памятью, временем работы процессора и ресурсами ввода-вывода. Соответственно процесс и программа в Linux — это синонимы. Ровно как и команда. Ведь когда ты вводишь в терминале команду, ты тем самым запускаешь соответствующую программу, а значит создаётся соответствующий процесс. Тут ещё можно понимать что пока программа не запущена, это программный файл. Отличается он от любого другого файла, только наличием бита доступа X, т.е. возможностью исполнения. Но как только мы его запустим, он станет процессом под управлением ядра Linux.
По поводу непосредственно запуска, нужно понимать что запускать программы из терминала можно либо вписав её название, либо полностью путь к исполняемому файлу. В случае с названием программа запустится если она есть в каталогах перечисленных в переменной окружения PATH.
Компоненты процесса
Ещё не лишним будет знать что любой процесс состоит из компонентов. К ним относится адресное пространство и набор структур данных внутри ядра. Адресное пространство это набор блоков памяти, которые ядро выделило для использования процессу. А в структурах данных хранится информация о процессе. Например текущее состояние, ресурсы, владелец, приоритеты и так далее. Но о ядре мы поговорим как-нибудь в другой раз, слишком уж это глобальная тема. А потому идём дальше.
Идентификаторы процессов
Как ты наверняка понимаешь всяческих процессов в Linux довольно много. А с твоей помощью их будет становится только больше. И, логично предположить, что в них как-то нужно ориентироваться. Причём если для тебя это опциональный навык, то для самой системы жизненно необходимый. А соответственно в Linux существует немалое количество всяких идентификаторов процессов. И раз уж мы тут изучаем основы Linux, то знать где какой идентификатор и что он означает будет очень не лишним.
PID (Process ID) — уникальный идентификатор процесса, который назначается каждому процессу ядром. В большинстве случаев когда ты будешь работать с процессами, тебе нужно будет использовать именно его, для точного указания нужного процесса.
PPID (Parent Process ID) — тут фишка в том что в Linux для выполнения программы не создаётся новый процесс, а какой-то из существующих клонирует себя, а потом заменяет текущую выполняемую программу на новую. В этой истории исходный процесс принято называть родительским, а его клон дочерним. Естественно дочернему процессу присваивается собственный PID, но помимо этого он ещё и имеет атрибут PPID, который совпадает с идентификатором родительского процесса. Может такое случится что родительский процесс будет завершен раньше дочернего. Это не означает что все дочерние процессы тут же отвалятся, нет, в этой ситуации демон systemd подставит себя на место родительского процесса. Демон systemd это первая программа запускаемая после загрузки ядра, соответственно всегда имеет идентификатор 1. (более подробно про это всё расскажу когда будем рассматривать жизненный цикл процесса)
Тут нужно заметить, дабы не провоцировать агрессию красноглазых, что я упоминаю именно systemd в качестве подсистемы инициализации, только потому, что примеры буду показывать в Ubuntu. В других дистрибутивах может быть демон init, или какой-то другой в зависимости от эксклюзивности дистрибутива
UID (User ID) — это идентификатор пользователя создавшего процесс. Тут нужно знать только то что менять атрибуты процесса могут только его создатель и суперпользователь.
GID (Group ID) — это идентификатор группы к которой принадлежит владелец процесса.
Контроль и мониторинг процессов
Пожалуй хватит теории, пора уже что-то в терминал писать. Но для того чтобы что-то делать с процессами, их, для начала нужно увидеть. Чтобы увидеть список процессов существует команда ps. На самом деле есть более удобные и практичные (про них чуть позже), но про ps знать точно нужно, потому что она, так сказать, стоит у истоков.
Если ввести просто команду ps, без дополнительных параметров:
То мы увидим только наши собственные процессы Linux. Почти всегда этого мало. Тут нюанс в том что ps это максимально замороченная хрень, имеющая великую тьму параметров, которые мало того, что ещё и между собой нужно комбинировать, так ещё и регистр важен. Разбирать мы всё это, конечно же не будем. Потому что, чтобы решать повседневные задачи достаточно знать всего несколько параметров.
И наиболее актуальный вариант использования, это:
Для понимания. Опция a означает что мы хотим увидеть все процессы. Опция х означает что мы хотим увидеть вообще все процессы Linux, в том числе те которые не относятся к текущему управляющему терминалу. А используя параметр u мы обеспечиваем дополнительную фильтрацию по пользовательским параметрам.
На выходе мы видим таблицу со списком процессов. Где тут что, вроде как, понятно, но на всякий случай объясню подробней.
USER | Имя владельца процесса |
PID | Идентификатор процесса |
%CPU | Доля времени процессора (в процентах), выделенная процессу |
%МЕМ | Часть оперативной памяти (в процентах), используемая процессом |
VSZ | Виртуальный размер процесса |
RSS | Количество блоков памяти |
ТТY | Идентификатор управляющего терминала |
STAT | Текущий статус процесса: R : процесс выполняется в данный момент; S : процесс ожидает (т.е. спит менее 20 секунд); I : процесс бездействует (т.е. спит больше 20 секунд); Z : zombie, то есть завершившийся процесс, код возврата которого пока не считан родителем; T : процесс остановлен; D : ожидает записи на диск; Иерархия процессовЯ уже упоминал, что процессы Linux создаются путём клонирования. И вот эта штука с родительскими и дочерними процессами создаёт определённую иерархию процессов, так как один процесс всегда порождает другой и так далее. И именно так формируется дерево процессов. А оно, в свою очередь, даёт нам возможность визуализировать всю эту историю и наглядно понять кто тут главный. Чтобы увидеть дерево процессов используется команда: Найдя в дереве (да и любым другим способом тоже) нужный нам процесс, в большинстве случаев необходимо получить по нему более развёрнутую информацию. В особенности нам нужен будет его PID, чтобы работать именно с тем процессом с которым нужно и не наворотить делов. Получить данные по конкретному процессу можно используя ту же утилиту ps, отфильтровав результаты с помощью команды grep. Например: Обрати внимание что я удалил из выдачи (-v) саму команду grep. Она будет в результатах потому что grep активна во время выполнения ps. Но так как мы её сами и запускаем, то смотреть на неё нам не интересно. Этого можно не делать, но так, типа прикольнее, мы получает только тот результат который нужен и ничего лишнего. Если нам нужно увидеть только PID процесса, то для этого есть утилита pgrep. Иногда есть необходимость узнать какие процессы используют какой-то файл или каталог. Для этого существует команда fuser. После которой нужно ввести нужный нам путь. Например: Таким способом мы увидим все процессы Linux использующие домашний каталог пользователя dspulse. Если ввести команду без параметра -v, то мы увидим только PID процессов получивших доступ. Процессы Linux. Утилита TOPКоманда ps конечно очень полезна, но есть нюанс. Принцип её работы в том, что она делает снимок состояния системы и выводит на экран результат, актуальный на момент когда был сделан снимок. И пока ты будешь тупить в список процессов, ситуация в твоей системе изменится. Поэтому, для того чтобы контролировать активность процессов, существуют утилиты для мониторинга. Самый базовый, но не самый удобный вариант, это использование команды top. Начнём мы именно с неё чтобы было понимание как это работает. После запуска мы увидим общую сводку по использованию ресурсов системы и список активных процессов. Причём наиболее активные будут вверху. По умолчанию этот список будет обновляться каждые три секунды. Чтобы изменить этот параметр нажми клавишу D. Колонки по умолчанию немного отличаются от тех что мы видели в ps: При этом, удобно то, что набор колонок можно поменять под свои нужны. Для этого нажимаем клавишу F и пробелом выбираем нужные колонки. Если какой-то процесс нам не нравится или мешает, мы можем его остановить. Для этого жмём клавишу K и вводим PID нужного процесса. Затем нас спросят какой сигнал отправить процессу. Так как в этом рассказе до сигналов я ещё не дошёл, пока просто запомни, что в большинстве случаев нужно отправлять сигнал 15. Но если процесс отказывается завершаться то сигнал 9. Процессы Linux. Утилита HTOPБолее удобный и практичный вариант монитора процессов это утилита htop. Она более наглядней и симпатичней оформлена. Ну и настроить её под свои задачи можно намного точнее. Но для начала её нужно установить: Колонки здесь, по умолчанию те же что и в топ. Снизу мы видим список горячих клавиш. Чтобы настроить под свои хотелки, жмём F2 и выбираем нужные параметры. С остальными горячими клавишами я думаю тоже понятно из их названий. Gnome System MonitorНу и список утилит мониторинга процессов был бы не полным без упоминания Gnome System Monitor. Это тоже самое но с графическим интерфейсом. (если у тебя KDE то там KDE System Guard). Запустить его можно либо выбрав в меню, либо написав в терминале: В меню можно выбрать что именно мы сейчас хотим видеть. Либо активные процессы, либо вообще все процессы, ну или процессы текущего пользователя. Также можно включить отображение дерева процессов. Отдельно есть вкладка для мониторинга использования ресурсов компьютера. Если в меню нажать «Поиск открытых файлов» то можно увидеть какие файлы какими процессами используются. На этом, в принципе, первую часть рассказа про процессы можно заканчивать. Теперь ты знаешь что такое процессы в Linux и как их находить. Осталось только научится их контролировать. И именно этим мы займёмся в следующей статье на эту тему. А точнее разберем жизненный цикл процесса, узнаем про сигналы, приоритеты, разберемся с системными процессами и потоками ядра, а также научимся этим всем управлять. А потому не забывай возвращаться к нам. Изучаем процессы в Linux. Управление процессамиОбновл. 12 Июл 2021 | Процесс — это экземпляр запущенной программы. Всякий раз, когда в терминале выполняется какая-нибудь команда (например, команда pwd ), система создает/запускает новый процесс. Типы процессовВ Linux существует три основных типа процессов: Процессы переднего плана (или «интерактивные процессы») — они инициализируются и управляются с помощью терминального сеанса. Другими словами, необходимым условием для запуска таких процессов является наличие пользователя, подключенного к системе; они не запускаются автоматически как часть системных функций/служб. Когда команда/процесс выполняется на переднем плане, то они полностью занимают запустивший их терминал. Вы не сможете использовать другие команды, т.к. приглашение оболочки будет недоступно, пока данный процесс выполняется на переднем плане. Фоновые процессы (или «автоматические процессы») — это процессы, не подключенные к терминалу; они не ожидают пользовательского ввода данных. Таким образом, другие процессы могут выполняться параллельно с процессом, запущенным в фоновом режиме, поскольку им не нужно ждать его завершения. Демоны (англ. «daemons») — это особый тип фоновых процессов, которые запускаются при старте системы и продолжают работать в виде службы; они не умирают. Такие процессы запускаются как системные задачи (службы). Однако при этом они могут управляться пользователем через init-процесс (о котором мы поговорим чуть позже). Например, к демонам относится служба электронных сообщений sendmail и sshd — служба, принимающая от клиентов запросы на соединения по протоколу ssh. За исключением процесса init и некоторых других, процессы демонов обычно имеют окончание d в своем имени. Как Linux идентифицирует процессы?Поскольку Linux является многопользовательской системой, разные пользователи могут запускать различные программы, при этом каждый запущенный экземпляр программы должен быть однозначно идентифицирован ядром. Процессы запущенной программы имеют уникальный пятизначный номер — PID (сокр. от «Process IDentificator» — «идентификатор процесса»), а также PPID (сокр. от «Parent Process IDentificator» — «идентификатор родительского процесса»). В связи с этим процессы дополнительно разделяют на две группы: Родительские процессы — это процессы, которые во время своего выполнения создают другие процессы. Дочерние процессы — эти процессы, создаваемые другими процессами во время своего выполнения. Прародителем всех процессов в системе является процесс init (от англ. «initialization») — первая программа, которая выполняется при загрузке Linux и управляет всеми другими процессами в системе. init запускается самим ядром и всегда имеет PID = 1, поэтому у него в принципе нет родительского процесса. Примечание: В любой момент времени в системе не существует двух процессов с одинаковым PID. Вновь создаваемому процессу может быть назначен ранее использованный свободный PID. Состояния процесса в LinuxКогда процесс передает ядру запрос, который не может быть исполнен сразу же, то процесс «погружается в сон/ожидание» и «пробуждается», когда запрос может быть удовлетворен. В связи с этим, в зависимости от текущей ситуации, процесс, во время своего выполнения, может переходить из одного состояния в другое: Рассмотрим основные состояния процесса: Выполнение — процесс либо запущен (текущий процесс в системе), либо готов к запуску (ожидает передачи на выполнение процессору). Ожидание — процесс ожидает наступления некоторого события (пользовательского ввода, сигнала от другого процесса и т.п.) или выделения системных ресурсов. Кроме того, ядро также различает два типа ожидающих процессов: прерываемые ожидающие процессы — могут быть прерваны сигналами; непрерываемые ожидающие процессы — процессы ожидают непосредственно на аппаратном уровне и не могут быть прерваны каким-либо событием/сигналом. Завершен — процесс был остановлен, как правило, путем получения сигнала штатного завершения работы exit(). Зомби — иногда, когда родительский процесс убивается до завершения дочернего процесса, дочерние процессы становятся «осиротевшими», при этом в качестве нового родителя (с соответствующим изменением PPID) им назначается процесс init. Убитые процессы, но при этом все еще отображающиеся в таблице процессов, называются процессами зомби (они мертвы и не используются). Как получить идентификатор (PID) процессаДля отображения идентификатора нужного вам процесса можно использовать команду pidof, например: $ pidof init Чтобы вывести PID и PPID текущей оболочки, выполните: Запуск интерактивного процесса в LinuxКак только вы выполните какую-нибудь команду или программу (например, firefox ), она создаст в системе соответствующий процесс. Вы можете запустить процесс переднего плана (он будет подключен к терминалу, ожидая пользовательского ввода) следующим образом: Запуск фонового процесса в LinuxЗапуск процесса в фоновом режиме полезен только для программ, которые не нуждаются в пользовательском вводе (через оболочку). Перевод задания в фоновый режим обычно выполняется, когда ожидается, что выполнение задания займет много времени. Кроме этого, в оболочку встроена утилита управления заданиями jobs, которая позволяет легко управлять несколькими процессами, переключая их между передним планом и фоновым исполнением. Также, с помощью jobs процессы могут быть сразу запущены в фоновом режиме. Чтобы запустить процесс в фоновом режиме, используйте символ & после имени запускаемой программы. В этом случае процесс не будет принимать пользовательский ввод, пока не переместится на передний план: $ firefox #После Enter нажмите Ctrl+Z Чтобы продолжить выполнение вышеупомянутой приостановленной команды в фоновом режиме, используйте команду bg (от англ. «begin»): Чтобы отправить фоновый процесс на передний план, используйте команду fg (от англ. «foreground») вместе с идентификатором задания следующим образом: Отслеживание активных процессовСуществует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top: Команда psОтображает информацию об активных процессах в системе, как показано на следующем скриншоте: UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение). PID — идентификатор процесса. PPID — идентификатор родительского процесса. C — загрузка CPU процессом. STIME — время начала выполнения процесса. TTY — тип терминала, связанного с процессом. TIME — количество процессорного времени, потраченного на выполнение процесса. CMD — команда, запустившая этот процесс. Есть и другие опции, которые можно использовать вместе с командой ps : -a — показывает информацию о процессах по всем пользователям; -x — показывает информацию о процессах без терминалов; -u — показывает дополнительную информацию о процессе по заданному UID или имени пользователя; -e — отображение расширенной информации. Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду ps –aux : Обратите внимание на выделенный заголовок. Команда ps поддерживает функцию сортировки процессов по соответствующим столбцам. Например, чтобы отсортировать список процессов по потреблению ресурсов процессора (в порядке возрастания), введите команду: Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса: Еще один очень популярный пример использования команды ps — это объединение её и команды grep для поиска заданного процесса по его имени: Команда topКоманда top отображает информацию о запущенных процессах в режиме реального времени: PID — идентификатор процесса. USER — пользователь, которому принадлежит процесс. PR — приоритет процесса на уровне ядра. VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент. RES — текущий объем (в килобайтах) физической памяти процесса. SHR — объем совместно используемой с другими процессами памяти. S (сокр. от «STATUS») — состояние процесса: S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события. I (сокр. от «Idle») — процесс бездействует. R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение). Z (сокр. от «Zombie») — зомби-процесс. %CPU — процент используемых ресурсов процессора. %MEM — процент используемой памяти. TIME+ — количество процессорного времени, потраченного на выполнение процесса. COMMAND — имя процесса (команды). Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные: — процесс с высоким приоритетом; N — процесс с низким приоритетом; l — многопоточный процесс; Примечание: Все процессы объединены в сессии. Процессы, принадлежащие к одной сессии, определяются общим идентификатором сессии — идентификатором процесса, который создал эту сессию. Лидер сессии — это процесс, идентификатор сессии которого совпадает с его идентификаторами процесса и группы процессов. Команда glancesКоманда glances — это относительно новый инструмент мониторинга системы с расширенными функциями: Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд: $ sudo apt-get update Управление процессами в LinuxТакже в Linux присутствуют некоторые команды для управления процессами: kill — посылает процессу сигнал завершения работы; pkill — завершает процесс по его имени; pgrep — ищет процесс по его имени (и, опционально, по имени запустившего его пользователя); killall — завершает все активные процессы. Ниже приведены несколько основных примеров их использования: Отправка сигналов процессамОсновополагающим способом управления процессами в Linux является отправка им соответствующих сигналов. Для перечисления списка всех доступных сигналов, введите команду: Большинство сигналов предназначены для внутреннего использования системой или для программистов, когда они пишут код. Ниже приведены наиболее полезные сигналы: SIGHUP (1) — отправляется процессу, когда его управляющий терминал закрыт. SIGINT (2) — отправляется процессу управляющим терминалом, когда пользователь прерывает процесс нажатием клавиш Ctrl+C. SIGQUIT (3) — отправляется процессу, если пользователь посылает сигнал выхода Ctrl+D. SIGKILL (9) — этот сигнал немедленно завершает (убивает) процесс, и процесс не будет выполнять никаких операций очистки за собой. SIGTERM (15) — сигнал завершения программы (отправляется командой kill по умолчанию). SIGTSTP (20) — отправляется процессу управляющим терминалом с запросом на остановку; инициируется пользователем нажатием клавиш Ctrl+Z. Ниже приведены примеры команды kill для уничтожения приложения firefox с помощью PID, после его зависания: Изменение приоритета процессаВ системе Linux все активные процессы имеют определенный приоритет выполнения, задаваемый так называемым nice-значением. Процессы с более высоким приоритетом обычно получают больше процессорного времени, чем процессы с более низким приоритетом. Однако пользователь с root-правами может повлиять на это с помощью команд nice и renice. Узнать значение приоритета команды можно по выводу команды top (столбец NI): Чем больше nice-значение, тем меньшим приоритетом будет обладать процесс. Например, вы можете задать приоритет для запускаемого процесса следующим образом: Чтобы изменить приоритет уже запущенного процесса, используйте команду renice следующим образом: $ renice +8 5547 На данный момент это всё! Если у вас есть какие-либо вопросы или дополнительные идеи, вы можете поделиться ими с нами с помощью комментариев. Поделиться в социальных сетях:
|