Команды для управления процессами в Linux
В этой статье мы обсудим управление процессами в Linux. Процесс в Linux — это не что иное, как исполняемая программа. Это работающий экземпляр программы. Любая команда, которую вы выполняете, запускает процесс.
Типы процессов в Linux
В Linux процессы могут быть двух типов:
- Активные процессы
зависит от пользователя для ввода
также называется интерактивными процессами - Фоновые процессы
работать независимо от пользователя
называемые неинтерактивными или автоматическими процессами
Состояния процесса в Linux
Процесс в Linux может проходить через разные состояния после его создания и до его завершения. Эти состояния:
- Бег
- Спать
- Прерываемый сон
- Непрерывный сон
Остановлено
Живой мертвец
Процесс в состоянии выполнения означает, что он запущен или готов к запуску.
Процесс находится в спящем состоянии, когда он ожидает доступности ресурса.
Процесс в прерываемом спящем режиме просыпается для обработки сигналов, а процесс в непрерывном спящем режиме — нет.
Процесс переходит в остановленное состояние, когда он получает стоп-сигнал.
Состояние зомби — это когда процесс мертв, но запись о нем все еще присутствует в таблице.
Различные команды для управления процессами в Linux
В Linux доступны две команды для отслеживания запущенных процессов. Эти две команды — Top и Ps.
1. Лучшая команда для управления процессами Linux
Чтобы отслеживать запущенные процессы на вашем компьютере, вы можете использовать команду top.
$ top
Команда Top отображает список процессов, запущенных в режиме реального времени, а также их использование памяти и ЦП. Давайте лучше разберем вывод:
- PID: уникальный идентификатор процесса, присвоенный каждому процессу.
- Пользователь: имя пользователя владельца процесса.
- PR: приоритет отдается процессу при планировании.
- NI: хорошая ценность процесса.
- VIRT: объем виртуальной памяти, используемый процессом.
- RES: объем физической памяти, используемой процессом.
- SHR: объем памяти, используемой совместно с другими процессами.
- S: состояние процесса
- D = непрерывный сон.
- R = работает
- S=спать
- T=отслеживается или останавливается
- Z=зомби
Для перемещения вверх и вниз по списку можно использовать клавиши со стрелками вверх/вниз. Чтобы выйти, нажмите q. Чтобы убить процесс, выделите его с помощью клавиш со стрелками вверх/вниз и нажмите «k».
В качестве альтернативы вы также можете использовать команду kill, которую мы увидим позже.
2. команда пс
Команда ps является сокращением от «Состояние процесса». Он отображает запущенные в данный момент процессы. Однако, в отличие от команды top, выходные данные создаются не в реальном времени.
$ ps
Терминология следующая:
PID process ID TTY terminal type TIME total time the process has been running CMD name of the command that launches the process Чтобы получить дополнительную информацию с помощью команды ps, используйте:
$ ps -u
Здесь:
- %CPU представляет собой объем вычислительной мощности, потребляемой процессом.
- %MEM представляет объем памяти, который занимает процесс.
- STAT представляет состояние процесса.
Хотя команда ps отображает только запущенные в данный момент процессы, вы также можете использовать ее для вывода списка всех процессов.
$ ps -A
Эта команда выводит список даже тех процессов, которые в данный момент не запущены.
3. Остановить процесс
Чтобы остановить процесс в Linux, используйте команду kill. Команда kill посылает сигнал процессу.
Существуют различные типы сигналов, которые вы можете отправлять. Однако наиболее распространенным является «kill -9», который является «SIGKILL».
Вы можете перечислить все сигналы, используя:
$ kill -L
Сигнал по умолчанию равен 15, то есть SIGTERM. Это означает, что если вы просто используете команду kill без номера, она отправляет сигнал SIGTERM.
Синтаксис для уничтожения процесса:
$ kill [pid]
В качестве альтернативы вы также можете использовать:
$ kill -9 [pid]
Эта команда отправит процессу сигнал «SIGKILL». Это следует использовать в случае, если процесс игнорирует обычный запрос на уничтожение.
4. Изменить приоритет процесса
В Linux вы можете расставлять приоритеты между процессами. Значение приоритета для процесса называется значением «Приятности». Значение приятности может варьироваться от -20 до 19. 0 — значение по умолчанию.
Четвертый столбец в выводе команды top — это столбец для значения приятности.
Чтобы запустить процесс и присвоить ему хорошее значение, отличное от значения по умолчанию, используйте:
$ nice -n [value] [process name]
Чтобы изменить значение nice уже запущенного процесса, используйте:
renice [value] -p 'PID'
Заключение
В этом руководстве рассматривается управление процессами в Linux. В основном были затронуты практические аспекты управления процессами. Теоретически управление процессами — это обширная тема, и ее полное рассмотрение не входит в задачи данного руководства.