Поиск по сайту:

Команды для управления процессами в 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. В основном были затронуты практические аспекты управления процессами. Теоретически управление процессами — это обширная тема, и ее полное рассмотрение не входит в задачи данного руководства.