Настройка начального приоритета процесса
Вы можете уменьшить начальный приоритет процесса по сравнению с запланированным значением.
Чтобы задать начальный приоритет процесса ниже по сравнению с основным запланированным приоритетом, воспользуйтесь командой nice для запуска процесса.
где число от
Команда - это запускаемая команда с флагами и параметрами.
Для выполнения этой задачи можно также воспользоваться командой
Вы можете уменьшить начальный приоритет процесса по сравнению с запланированным значением.
Чтобы задать начальный приоритет процесса ниже по сравнению с основным запланированным приоритетом, воспользуйтесь командой nice для запуска процесса.
nice -n [число] [команда]где число от
0 до 39 (39 - самый низкий приоритет). Ноль означает, что процесс необходимо запустить с базовым приоритетом планирования.Команда - это запускаемая команда с флагами и параметрами.
Для выполнения этой задачи можно также воспользоваться командой
smit nice.Утилита renice
renice — UNIX-утилита, позволяющая изменить приоритет запущенных задач. Привилегированный пользователь (root) может указать отрицательное смещение. Команда renice может смещать приоритет в диапазоне от -20 (наивысший приоритет) до 19 (низший приоритет) от текущего.
Для изменения значения приоритета отдельных процессов достаточно перечислить их идентификаторы.
Для изменения приоритета всех процессов какого-либо пользователя необходимо указать флаг
Можно задавать как числовые, так и символьные идентификаторы пользователей.
renice — UNIX-утилита, позволяющая изменить приоритет запущенных задач. Привилегированный пользователь (root) может указать отрицательное смещение. Команда renice может смещать приоритет в диапазоне от -20 (наивысший приоритет) до 19 (низший приоритет) от текущего.
Для изменения значения приоритета отдельных процессов достаточно перечислить их идентификаторы.
Для изменения приоритета всех процессов какого-либо пользователя необходимо указать флаг
-u. В этом случае значения идентификаторов после флага -u будут интерпретироваться как идентификаторы пользователей.Можно задавать как числовые, так и символьные идентификаторы пользователей.
Изменение приоритета выполняемого процесса
Вы можете изменить приоритет уже выполняемого процесса с помощью команды renice, введенной в командной строке. Эта команда изменяет приоритет процесса, заданный командой nice.
Вы можете изменить приоритет уже выполняемого процесса с помощью команды renice, введенной в командной строке. Эта команда изменяет приоритет процесса, заданный командой nice.
renice [приоритет] -p [id_процесса]где приоритет - число от -20 до 20. Чем больше число, тем ниже приоритет. Ноль означает, что процесс необходимо запустить с базовым приоритетом планирования.
id_процесса - это идентификатор процесса, приоритет которого необходимо изменить.Перезапуск остановленного процесса
Чтобы просмотреть список запущенных и приостановленных процессов, то есть всех процессов системы, за исключением убитых:
Для отправки приостановленному процессу сигнала CONTINUE (продолжить) введите:
Чтобы просмотреть список запущенных и приостановленных процессов, то есть всех процессов системы, за исключением убитых:
ps -efЭту команду можно объединить с grep, если вас интересуют какие-то конкретные процессы, например, vi:
ps -ef | grep viВ выводе команды ps найдите процесс, который вы хотите возобновить, и запишите его ID.
Для отправки приостановленному процессу сигнала CONTINUE (продолжить) введите:
kill -19 [ID]
-19 означает сигнал CONTINUE, эта команда возобновляет процесс в фоновом режиме. Для перевода процесса в интерактивный режим:fg [ID]Команда fg
fg — команда возобновления работы задачи и передачи ей управления в командных оболочках, совместимых со стандартом POSIX.
Команда позволяет возобновить работу приостановленного процесса или вывести его из фонового режима. Обычно реализуется не как утилита, а как встроенная в командную оболочку команда, т. к. работает с задачами, запущенными в рамках командной оболочки.
Команда реализована в таких командных интерпретаторах, как
Примеры:
Для вывода всех фоновых и приостановленных задач:
fg — команда возобновления работы задачи и передачи ей управления в командных оболочках, совместимых со стандартом POSIX.
Команда позволяет возобновить работу приостановленного процесса или вывести его из фонового режима. Обычно реализуется не как утилита, а как встроенная в командную оболочку команда, т. к. работает с задачами, запущенными в рамках командной оболочки.
Команда реализована в таких командных интерпретаторах, как
bourne shell (sh)[2] и bourne again shell (bash).Примеры:
Для вывода всех фоновых и приостановленных задач:
fgДля того, чтобы «разбудить» процесс, следует передать команде в качестве параметра номер задачи:
fg [ID]Полезные инструменты, которые предоставляет systemd
Эта система предоставляет огромное количество возможностей. Запускать и останавливать сервисы, создавать файлы юнитов, изучать логи и даже монтировать удаленные хранилища.Рассмотри несколько полезных утилит, которые входят в состав systemd.
Действия, которые выполняют утилиты, можно осуществить и другими, более привычными способами.
Но инструменты, о которых пойдет речь ниже, достаточно удобны. И похоже, что systemd обосновалась в мире Linux всерьез и надолго, поэтому знать некоторые ее возможности будет не лишним.
1) localectl: централизованное управление языковыми и региональными параметрами. Например, можно поменять язык системы
2) timedatectl: управление настройками времени и даты.
3) loginctl: управление сеансами пользователей.
Эта система предоставляет огромное количество возможностей. Запускать и останавливать сервисы, создавать файлы юнитов, изучать логи и даже монтировать удаленные хранилища.Рассмотри несколько полезных утилит, которые входят в состав systemd.
Действия, которые выполняют утилиты, можно осуществить и другими, более привычными способами.
Но инструменты, о которых пойдет речь ниже, достаточно удобны. И похоже, что systemd обосновалась в мире Linux всерьез и надолго, поэтому знать некоторые ее возможности будет не лишним.
1) localectl: централизованное управление языковыми и региональными параметрами. Например, можно поменять язык системы
2) timedatectl: управление настройками времени и даты.
3) loginctl: управление сеансами пользователей.
Команды для вывода имени пользователя Linux
Для поиска информации о такой сущности воспользуйтесь командой id:
Результат программы будет примерно такой:
Для получения информации о текущем сеансе регистрации можно воспользоваться командой
Команда
Для поиска информации о такой сущности воспользуйтесь командой id:
Результат программы будет примерно такой:
uid=501(admin) gid=105(sales) group=105(sales), 27(sudo), 124(kvm)В этом примере пользователь имеет имя admin, ему соответствует числовой идентификатор
(uid) 501. Основная группа пользователя admin называется sales, и ей соответствует числовой идентификатор группы (gid) 105. Кроме этого, пользователь с именем admin принадлежит другим группам, называемым sudo (идентификатор - 27) и kvm (идентификатор - 124).Для получения информации о текущем сеансе регистрации можно воспользоваться командой
who. Команда
who выведет информацию о, имени пользователя, который зарегистрировался на консоли ttyl (монитор и клавиатура, подключенные к компьютеру) и когда начался сеанс.Определение источника конкретной команды
Чтобы определить источник команды можно воспользоваться командой
Например, для определения расположения интерпретатора bash введите следующую команду:
Чтобы определить источник команды можно воспользоваться командой
type, но если применяется не bash, а другой командный интерпретатор, воспользуйтесь командой which.Например, для определения расположения интерпретатора bash введите следующую команду:
type bashИногда после ввода команды выводится сообщение о том, что команда не найдена или отсутствуют права на ее запуск. В первом случае необходимо проверить правильность ввода команды и ее присутствие в пути, указанном в переменной
path. Во втором случае команда может находиться в пути из переменной path, но для нее могут отсутствовать права на запуск.Каталоги, в которых расположены команды Linux
Большинство пользовательских команд в составе операционной системы Linux хранятся в каталогах
Если необходимо добавить собственные команды или сценарии командного интерпретатора, разместите их в каталоге
Данный каталог автоматически добавляется в путь поиска команд Linux. Это значит, что после добавления команды в собственный каталог с правом на выполнение команду можно сразу использовать, вводя ее имя в командной строке.
Большинство пользовательских команд в составе операционной системы Linux хранятся в каталогах
/bin,/usr/bin и /usr/local/bin.Если необходимо добавить собственные команды или сценарии командного интерпретатора, разместите их в каталоге
bin в собственном домашнем каталоге.Данный каталог автоматически добавляется в путь поиска команд Linux. Это значит, что после добавления команды в собственный каталог с правом на выполнение команду можно сразу использовать, вводя ее имя в командной строке.
Перенаправление команд в терминале Linux
Перенаправление еще называют составлением конвейера. Метасимвол канала
Перенаправление еще называют составлением конвейера. Метасимвол канала
| связывает вывод одной команды с вводом другой. При этом следующая команда может работать с выводом предыдущей. Пример конвейера:cat /etc/password | sort | lessВыведет содержимое файла
/etc/password и перенаправляет вывод команде sort, сортирующей в алфавитном порядке имена пользователей и далее передает вывод команде less
Конвейеры хорошо демонстрируют, как лежавшая в основе Linux ОС UNIX составлялась из отдельных строительных блоков. Связывание утилит разными способами для решения различных задач считается стандартным подходом в ОС UNIX.Последовательное выполнение команд с последующим перенаправлением вывода
Иногда команды должны выполняться последовательно, одна за другой. Для этого в командной строке можно ввести несколько команд и разделить их точкой с запятой (
Команда
Иногда команды должны выполняться последовательно, одна за другой. Для этого в командной строке можно ввести несколько команд и разделить их точкой с запятой (
; )date ; troff -me большой_документ | lpr ; dateВ приведенном примере выполняется форматирование огромного документа, при этом необходимо знать, сколько времени занимает такая операция.
Команда
date выводит дату и время начала форматирования. Команда troff выполняет форматирование и передает результат работы на печать. По завершении форматирования опять выводится текущая дата и время (можно подсчитать время, которое потребовалось для завершения форматирования).Фоновое выполнение команд
Выполнение некоторых команд может потребовать значительного времени.
Иногда желательно не блокировать интерпретатор до завершения выполнения команды. В таких случаях команды можно запускать в фоновом режиме с помощью символа
Команды форматирования для больших документов часто запускаются в фоновом режиме.
Кроме этого, иногда возникает необходимость создания собственных сценариев, которые реализуются в фоновом режиме и ожидают выполнения определенных событий, например переполнения жесткого диска или регистрации определенного пользователя.
Пример:
Выполнение некоторых команд может потребовать значительного времени.
Иногда желательно не блокировать интерпретатор до завершения выполнения команды. В таких случаях команды можно запускать в фоновом режиме с помощью символа
&.Команды форматирования для больших документов часто запускаются в фоновом режиме.
Кроме этого, иногда возникает необходимость создания собственных сценариев, которые реализуются в фоновом режиме и ожидают выполнения определенных событий, например переполнения жесткого диска или регистрации определенного пользователя.
Пример:
troff –me очень_большой_документ | lpr &Проверка доступности интересующего интерпретатора командной строки
Интерпретатор командной строки — компьютерная программа, часть операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки или последовательного исполнения пакетных командных файлов.
Командные интерпретаторы UNIX:
Самым простым способом проверки доступности интересующего командного интерпретатора является ввод его имени в командной строке. Если интерпретатор запустился, он доступен.
Интерпретатор командной строки — компьютерная программа, часть операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки или последовательного исполнения пакетных командных файлов.
Командные интерпретаторы UNIX:
bash, csh, ksh, zsh;Самым простым способом проверки доступности интересующего командного интерпретатора является ввод его имени в командной строке. Если интерпретатор запустился, он доступен.
Несколько причин для выбора альтернативных командных интерпретаторов
1. Привычка работать в системах UNIX System V (во многих из них по умолчанию применяются интерпретатор ksh) или в системах компании Sun Microsystems и других системах на базе Berkeley UNIX (в них часто используется csh). В данном случае применение этих интерпретаторов командной строки окажется наиболее удобным.
2. Необходимость запуска сценариев, которые создавались исключительно для определенного командного интерпретатора.
3. Возможности альтернативного командного интерпретатора могут оказаться более предпочтительными. Например, один из членов группы пользователей Linux предпочитает применять ksh, так как его не устраивает способ создания псевдонимов в bash.
1. Привычка работать в системах UNIX System V (во многих из них по умолчанию применяются интерпретатор ksh) или в системах компании Sun Microsystems и других системах на базе Berkeley UNIX (в них часто используется csh). В данном случае применение этих интерпретаторов командной строки окажется наиболее удобным.
2. Необходимость запуска сценариев, которые создавались исключительно для определенного командного интерпретатора.
3. Возможности альтернативного командного интерпретатора могут оказаться более предпочтительными. Например, один из членов группы пользователей Linux предпочитает применять ksh, так как его не устраивает способ создания псевдонимов в bash.
Источники Apt
Во всех дистрибутивах на основе Debian - репозитории ПО apt определены в файле
Общий синтаксис файла
⁃ Вторая запись — это URL-адрес репозитория
⁃ Третья запись — кодовое имя распространения (
⁃ Последние записи — это компоненты / категории репозитория.
Во всех дистрибутивах на основе Debian - репозитории ПО apt определены в файле
/etc/apt/sources.list либо в отдельных файлах в каталоге /etc/apt/sources.list.d/
Имена файлов репозитория в каталоге /etc/apt/sources.list.d/ должны заканчиваться на .list Общий синтаксис файла
/etc/apt/sources.list придерживается следующего формата:deb http://repo.tld/ubuntu distro component...⁃ Первая запись — тип архива (
deb или deb-src)⁃ Вторая запись — это URL-адрес репозитория
⁃ Третья запись — кодовое имя распространения (
beaver, xenial и т.д.)⁃ Последние записи — это компоненты / категории репозитория.
Управление языковыми и региональными параметрами
Наверняка многим из вас когда-нибудь приходилось потратить изрядное количество времени на настройку локалей и раскладок. Сделать это путем прописывания нужных параметров в различных конфигурационных файлах бывает непросто, поэтому с этим нам может помочь команда localectl.
Для того, чтобы вывести текущие настройки:
Вывести список доступных раскладок клавиатуры:
Наверняка многим из вас когда-нибудь приходилось потратить изрядное количество времени на настройку локалей и раскладок. Сделать это путем прописывания нужных параметров в различных конфигурационных файлах бывает непросто, поэтому с этим нам может помочь команда localectl.
Для того, чтобы вывести текущие настройки:
localectlВывести список доступных локалей:
localectl list-localesИзменить язык системы на английский:
localectl set-locale LANG="en_EN.utf8"(Единицы измерения, финансовые обозначения и прочие региональные параметры при этом останутся прежними)
Вывести список доступных раскладок клавиатуры:
localectl list-x11-keymap-layoutsВсю работу по обновлению существующих и созданию новых конфигурационных файлов localectl берет на себя.
Управление настройками времени и даты
А чтобы включить синхронизацию с ntp-сервером:
timedatectl предназначена для удобного управления временем, датой, часовым поясом и настройками синхронизации времени. Чтобы получить информацию о текущих настройках, достаточно просто ввести:timedatectlУстановить дату и время (работает только при выключенной синхронизации):
timedatectl set-time "2030-01-01 00:00:01"Отключить синхронизацию с ntp-сервером:
timedatectl set-ntp 0(В этой и других подобных командах из набора systemd в качестве булевых значений можно использовать
1\0, on\off, true\false)А чтобы включить синхронизацию с ntp-сервером:
timedatectl set-ntp 1Отобразить список часовых поясов и установить подходящий:
timedatectl list-timezonesloginctl: управление сеансами пользователей.
Эта простая утилита, входящая в состав systemd, позволяет получать информацию о том, какие пользователи находятся в системе в данный момент, как давно они вошли, какой uid им принадлежит, сколько сеансов запущено на данный момент и т.д. Кроме того, loginctl позволяет всем этим управлять.
Примеры использования:
Чтобы заблокировать текущую сессию, выполните:
Эта простая утилита, входящая в состав systemd, позволяет получать информацию о том, какие пользователи находятся в системе в данный момент, как давно они вошли, какой uid им принадлежит, сколько сеансов запущено на данный момент и т.д. Кроме того, loginctl позволяет всем этим управлять.
Примеры использования:
Чтобы заблокировать текущую сессию, выполните:
loginctl lock-sessionЧтобы вывести список открытых сеансов:
loginctl list-sessionsПолучить список залогинившихся пользователей:
loginctl list-usersВывести информацию о состоянии текущего сеанса (или любого другого, если добавить id), включая список дочерних процессов и номер виртуальной консоли:
loginctl session-statusВозможности systemd
systemd — подсистема инициализации и управления службами в Linux.
Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск ОС.
Помимо простого запуска и контроля служб, systemd предлагает некоторые другие удобные функции, для использования которых ранее системным администраторам приходилось прибегать к помощи дополнительных программ-демонов.
Среди таких функций:
1. сокет-активация служб (заменяет inetd);
2. запуск сервисов по расписанию (заменяет cron);
3. работа с аппаратным сторожевым таймером (заменяет watchdog);
4. смена корня (заменяет chroot);
5. автомонтирование томов и сетевых ресурсов (заменяет mount и fstab);
6. journalctl — служба журналирования;
7. systemd-analyze — анализ скорости запуска служб;
8. systemd-boot — UEFI-загрузчик (заменяет GRUB).
systemd — подсистема инициализации и управления службами в Linux.
Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск ОС.
Помимо простого запуска и контроля служб, systemd предлагает некоторые другие удобные функции, для использования которых ранее системным администраторам приходилось прибегать к помощи дополнительных программ-демонов.
Среди таких функций:
1. сокет-активация служб (заменяет inetd);
2. запуск сервисов по расписанию (заменяет cron);
3. работа с аппаратным сторожевым таймером (заменяет watchdog);
4. смена корня (заменяет chroot);
5. автомонтирование томов и сетевых ресурсов (заменяет mount и fstab);
6. journalctl — служба журналирования;
7. systemd-analyze — анализ скорости запуска служб;
8. systemd-boot — UEFI-загрузчик (заменяет GRUB).
Архитектура systemd
Подсистема оперирует специально оформленными файлами конфигурации — модулями. Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы.
systemd поддерживает следующие типы модулей:
Подсистема оперирует специально оформленными файлами конфигурации — модулями. Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы.
systemd поддерживает следующие типы модулей:
.target — позволяет группировать модули, воплощая концепцию уровней запуска;.service — отвечает за запуск сервисов (служб), также поддерживает вызов интерпретаторов для исполнения пользовательских скриптов;.mount — отвечает за монтирование файловых систем;.automount — позволяет отложить монтирование файловых систем до фактического обращения к точке монтирования;.swap — отвечает за подключение файла или устройства подкачки;.timer — позволяет запускать модули по расписанию;.socket — предоставляет службам поддержку механизма сокет-активации;.slice — отвечает за создание контейнера cgroups;.device — позволяет реагировать на подключение устройств;.path — управляет иерархией файловой системы.