Основное содержание: понять взаимосвязь между программами и процессами, передний план и фон процесса; освоить команду ps для просмотра процесса; понять виртуальную файловую систему; освоить метод управления процессом с помощью верхней команды; освоить метод использование оболочки для управления процессом.
1. Определение процесса
Процесс — это концепция операционной системы.Каждый раз, когда мы выполняем программу, для операционной системы создается процесс.В этом процессе ресурсы распределяются и освобождаются. Процесс можно рассматривать как одно выполнение программы.
2. Разница между процессом и программой
Программа статична, представляет собой упорядоченный набор инструкций, хранящихся на диске без какого-либо представления об исполнении.
Процесс — это динамическая концепция, представляющая собой процесс выполнения программы, включая создание, планирование и завершение .
3. Состояние процесса
1. Статус процесса Linux: R (TASK_RUNNING), статус исполняемого файла и статус выполнения (статус в очереди run_queue)
2. Состояние процесса Linux: S (TASK_INTERRUPTIBLE), прерываемое состояние сна, может обрабатывать сигнал
3. Состояние процесса Linux: T (TASK_STOPPED или TASK_TRACED), состояние приостановки или состояние отслеживания, невозможно обработать сигнал, поскольку для выполнения кода вообще нет временного интервала.
4. Статус процесса Linux: Z (TASK_DEAD - EXIT_ZOMBIE), статус выхода, процесс становится зомби-процессом. Его нельзя убить, то есть он не реагирует на сигналы задачи и его нельзя убить с помощью SIGKILL.
4. Управление процессами
1. Начало процесса
Запуск на переднем плане и запуск в фоновом режиме: после того, как процесс запущен в фоновом режиме, нет необходимости взаимодействовать с вводом и выводом.
Также:ls –a >текст &
2. Просмотр процесса
Имя: пс
Доступ: все пользователи
Использование: ps [опции] [--help]
Описание: Отображение динамики мгновенного процесса (процесса)
Варианты: Есть много вариантов ps, вот лишь несколько часто используемых и краткое введение в их значения.
Общие варианты:
-A отображает все процессы, как и -e
-a отображает все процессы текущего терминала, включая информацию о процессах других пользователей
-l Отображать информацию о процессе в длинном формате (с такими полями, как F, wchan и C)
-u Показать формат, ориентированный на пользователя (включая такую информацию, как имя пользователя, использование процессора и памяти)
-g Показать всю информацию о процессе в соответствии с gid или именем группы.
-r показать запущенные процессы
-x Показать процессы, которые не имеют управляющего терминала (т. е. работают в фоновом режиме).
-t номер терминала Показать информацию о процессе на указанном терминале.
-f Показать всю информацию о процессе, обычно в сочетании с другими параметрами. Например: пс-фа, пс-фх, пс-эф.
Обычное использование команды ps (удобно просматривать информацию о процессе)
- ps -u выводит подробную информацию о текущем процессе
Среди них VSZ — это пространство виртуальной памяти, занимаемое процессом, а RSS — это пространство памяти, занимаемое процессом.
3) ps –ef выводит исчерпывающую информацию обо всех процессах в системе
3. Процесс переключения
Название: рабочие места
Доступ: все пользователи
Как использовать: задания [варианты]
Описание: Показать все текущие задания (фон)
Параметры: -l одновременно отображает номер процесса и номер задания.
-p показывать только идентификатор процесса
Фронт-фоновый переход процесса:
bg [номер задания] перенос с переднего плана на задний план
fg[номер задания] фон на передний план
ctrl+Z приостановить процесс
4. Приостановить процесс
значение времени сна (с)
значение времени сна (нас)
Пример: Терминал делает паузу на 10 секунд.
Сон 10
5. Завершите процесс
Завершите процесс переднего плана с помощью Ctrl + C, а фоновый процесс с помощью kill
Имя: убить
Доступ: все пользователи
Использование: kill [-s сигнал -p] номер процесса или kill -l [сигнал]
Описание: Завершить текущий процесс или задание.
Параметры: -l выводит список имен сигналов
-s указывает сигнал для отправки
-p указывает, что команда kill просто отображает pid процесса
Kill 0 убивает все процессы текущей оболочки.
Обратите внимание, что если сигнал не поступает, посылается сигнал TERM.
Пример: kill -s SIGTERM 10115, отправить сигнал завершения процессу с номером процесса 10115.
Пять, пример управления процессами
Запустите процесс vim, заставьте его работать в фоновом режиме и просмотрите подробную и исчерпывающую информацию о процессе vim;
Отображать все текущие задания, переключать vim на передний план, приостанавливать работу vim, а затем переводить vim в фоновый режим для выполнения;
Приостановите процесс оболочки на 10 секунд и завершите процесс vim.
Шесть, практика
Запустите процесс vim, заставьте его работать в фоновом режиме и просмотрите подробную и исчерпывающую информацию о процессе vim;
Отображение всех текущих заданий и переключение vim на передний план;
Отображать все текущие задания, а затем переводить vim в фон для выполнения;
Приостановите процесс оболочки на 10 секунд и завершите процесс vim.
Отвечать: