Команда ps в linux (список процессов)

Команды Linux, Связанные С Передачей Файлов

Эти команды используются для копирования файлов из одной системы в другую систему

87. scp

SCP — это программа безопасного копирования для передачи файлов или каталогов между хостами Linux в сети. SCP использует протокол ssh для передачи данных.

Пример того как локальный файл ‘examples.txt» скопировать на удаленный хост.

88. rsync

Rsync синхронизирует файлы и каталоги между локальными и удаленными машинами. Он может рекурсивно копировать файлы и каталоги, копировать символические ссылки, сохранять (разрешения, группу, время изменения и принадлежность) идентификатор файла.

Список процессов Linux

Самые популярные команды для решения этой задачи — это ps, top и htop. Последние две команды мы уже рассматривали в предыдущих статьях, собственно, они интерактивные и с ними у вас не возникнет проблем. Сейчас же хотелось бы остановиться более детально на ps. Сначала рассмотрим общий синтаксис команды, здесь все очень просто:

$ ps опции

$ ps опции | grep параметр

Во втором варианте мы используем утилиту grep для того, чтобы отобрать нужные нам процессы по определенному критерию. Теперь рассмотрим опции утилиты. Они делятся на два типа — те, которые идут с дефисом Unix и те, которые используются без дефиса — BSD. Лучше пользоваться только опциями Unix, но мы рассмотрим и одни и другие. Заметьте, что при использовании опций BSD, вывод утилиты будет организован в BSD стиле.

  • -A, (a) — выбрать все процессы;
  • -a — выбрать все процессы, кроме фоновых;
  • -d, (g) — выбрать все процессы, даже фоновые, кроме процессов сессий;
  • -N — выбрать все процессы кроме указанных;
  • — выбирать процессы по имени команды;
  • -G — выбрать процессы по ID группы;
  • -p, (p) — выбрать процессы PID;
  • —ppid — выбрать процессы по PID родительского процесса;
  • -s — выбрать процессы по ID сессии;
  • -t, (t) — выбрать процессы по tty;
  • -u, (U) — выбрать процессы пользователя.

Опции форматирования:

  • — отображать информацию планировщика;
  • -f — вывести максимум доступных данных, например, количество потоков;
  • -j, (j) — вывести процессы в стиле Jobs, минимум информации;
  • -M, (Z) — добавить информацию о безопасности;
  • -o, (o) — позволяет определить свой формат вывода;
  • —sort, (k) — выполнять сортировку по указанной колонке;
  • -L, (H)— отображать потоки процессов в колонках LWP и NLWP;
  • -m, (m) — вывести потоки после процесса;
  • -V, (V) — вывести информацию о версии;
  • -H — отображать дерево процессов linux;

Теперь, когда вы знаете синтаксис и опции, можно перейти ближе к практике и посмотреть запущенные процессы в Linux. Чтобы просто посмотреть процессы в linux в текущей оболочке используйте команду без параметров:

Все процессы, кроме лидеров групп, в том же режиме отображения:

Все процессы, включая фоновые и лидеры групп:

Чтобы вывести больше информации о процессах используйте опцию -f:

При использовании опции -f команда выдает такие колонки:

  • UID — пользователь, от имени которого запущен процесс;
  • PID — идентификатор процесса;
  • PPID — идентификатор родительского процесса;
  • C — процент времени CPU, используемого процессом;
  • STIME — время запуска процесса;
  • TTY — терминал, из которого запущен процесс;
  • TIME — общее время процессора, затраченное на выполнение процессора;
  • CMD— команда запуска процессора;
  • LWP — показывает потоки процессора;
  • PRI — приоритет процесса.

Например, также можно вывести подробную информацию обо всех процессах:

Больше информации можно получить, использовав опцию -F:

Если вы хотите получить еще больше информации, используйте вместо -f опцию -l:

Дальше мы можем отобрать все процессы, запущенные от имени определенного пользователя:

С помощью опции -H можно отобразить дерево процессов:

Если вас интересует информация только об определенном процессе, то вы можете использовать опцию -p и указать pid процесса linux:

Через запятую можно указать несколько PID:

Опция позволяет фильтровать процессы по имени, например, выберем только процессы chrome:

Дальше можно использовать опцию -L чтобы отобразить информацию о процессах:

Очень интересно то, с помощью опции -o можно настроить форматирование вывода, например, вы можете вывести только pid процесса linux и команду:

Вы можете выбрать такие колонки для отображения: pcpu, pmem, args, comm, cputime, pid, gid, lwp, rss, start, user,vsize,priority. Для удобства просмотра можно отсортировать вывод программы по нужной колонке, например, просмотр процессов linux, которые используют больше всего памяти:

Или по проценту загрузки cpu:

Еще одна опция — M, которая позволяет вывести информацию про права безопасности и флаги SELinux для процессов:

Общее количество запущенных процессов Linux можно узнать командой:

Мы рассмотрели все основные возможности утилиты ps. Дальше вы можете поэкспериментировать с ее параметрами и опциями чтобы найти нужные комбинации, также можно попытаться применить опции BSD.

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.

34. pwd

Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

37. rm

Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.

45. tail

Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.

46. gpg

GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.

50. uniq

Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.

53. tee

Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

Команда ps в Linux

Сначала рассмотрим общий синтаксис команды, здесь все очень просто:

$ ps опции

$ ps опции | grep параметр

Во втором варианте мы используем утилиту grep для того, чтобы отобрать нужные нам процессы по определенному критерию. Теперь рассмотрим опции утилиты. Они делятся на два типа — те, которые идут с дефисом Unix и те, которые используются без дефиса — BSD. Лучше пользоваться только опциями Unix, но мы рассмотрим и одни и другие. Заметьте, что при использовании опций BSD, вывод утилиты будет организован в BSD стиле.

  • -A, -e, (a) — выбрать все процессы;
  • -a — выбрать все процессы, кроме фоновых;
  • -d, (g) — выбрать все процессы, даже фоновые, кроме процессов сессий;
  • -N — выбрать все процессы кроме указанных;
  • -С — выбирать процессы по имени команды;
  • -G — выбрать процессы по ID группы;
  • -p, (p) — выбрать процессы PID;
  • —ppid — выбрать процессы по PID родительского процесса;
  • -s — выбрать процессы по ID сессии;
  • -t, (t) — выбрать процессы по tty;
  • -u, (U) — выбрать процессы пользователя.

Опции форматирования:

  • -с — отображать информацию планировщика;
  • -f — вывести максимум доступных данных, например, количество потоков;
  • -F — аналогично -f, только выводит ещё больше данных;
  • -l — длинный формат вывода;
  • -j, (j) — вывести процессы в стиле Jobs, минимум информации;
  • -M, (Z) — добавить информацию о безопасности;
  • -o, (o) — позволяет определить свой формат вывода;
  • —sort, (k) — выполнять сортировку по указанной колонке;
  • -L, (H)- отображать потоки процессов в колонках LWP и NLWP;
  • -m, (m) — вывести потоки после процесса;
  • -V, (V) — вывести информацию о версии;
  • -H — отображать дерево процессов;

Теперь, когда вы знаете синтаксис и опции, можно перейти ближе к практике. Чтобы просто посмотреть процессы в текущей оболочке используется такая команда терминала ps:

Все процессы, кроме лидеров групп, в том же режиме отображения:

Все процессы, включая фоновые и лидеры групп:

Чтобы вывести больше информации о процессах используйте опцию -f:

При использовании опции -f команда выдает такие колонки:

  • UID — пользователь, от имени которого запущен процесс;
  • PID — идентификатор процесса;
  • PPID — идентификатор родительского процесса;
  • C — процент времени CPU, используемого процессом;
  • STIME — время запуска процесса;
  • TTY — терминал, из которого запущен процесс;
  • TIME — общее время процессора, затраченное на выполнение процессора;
  • CMD — команда запуска процессора;
  • LWP — показывает потоки процессора;
  • PRI — приоритет процесса.

Например, также можно вывести подробную информацию обо всех процессах:

Больше информации можно получить, использовав опцию -F:

Эта опция добавляет такие колонки:

  • SZ — это размер процесса в памяти;
  • RSS — реальный размер процесса в памяти;
  • PSR — ядро процессора, на котором выполняется процесс.

Если вы хотите получить еще больше информации, используйте вместо -f опцию -l:

Эта опция добавляет отображение таких колонок:

  • F — флаги, ассоциированные с этим процессом;
  • S — состояние процесса;
  • PRI — приоритет процесса в планировщике ядра Linux;
  • NI — рекомендованный приоритет процесса, можно менять;
  • ADDR — адрес процесса в памяти;
  • WCHAN — название функции ядра, из-за которой процесс находится в режиме ожидания.

Дальше мы можем отобрать все процессы, запущенные от имени определенного пользователя:

С помощью опции -H можно отобразить дерево процессов:

Если вас интересует информация только об определенном процессе, то вы можете использовать опцию -p и указать PID процесса:

Через запятую можно указать несколько PID:

Опция -С позволяет фильтровать процессы по имени, например, выберем только процессы chrome:

Дальше можно использовать опцию -L чтобы отобразить информацию о процессах:

Очень интересно то, с помощью опции -o можно настроить форматирование вывода, например, вы можете вывести только pid процесса и команду:

Вы можете выбрать такие колонки для отображения: pcpu, pmem, args, comm, cputime, pid, gid, lwp, rss, start, user, vsize, priority. Для удобства просмотра можно отсортировать вывод программы по нужной колонке, например, просмотр процессов, которые используют больше всего памяти:

Или по проценту загрузки cpu:

Ещё одна опция — -M, которая позволяет вывести информацию про права безопасности и флаги SELinux для процессов:

Общее количество запущенных процессов Linux можно узнать командой:

Мы рассмотрели все основные возможности утилиты ps. Дальше вы можете поэкспериментировать с её параметрами и опциями чтобы найти нужные комбинации, также можно попытаться применить опции BSD.

Завершаем процессы в Linux

Существуют разные системные средства, позволяющие «убить» какой-либо процесс. Иногда для этого приходится узнавать его идентификатор, а в других ситуациях достаточно только названия. Далее мы предлагаем детально изучить все представленные методы, чтобы найти оптимальный для себя и выполнять его при необходимости, учитывая описанные ранее сигналы.

Способ 1: «Системный монитор»

Начнем с самого простого, но менее вариативного метода, который осуществляется через программу графического интерфейса и будет полезен тем пользователям, кто просто хочет завершить процесс, не прибегая при этом к запуску терминальных команд. Рассмотрим эту операцию на стандартной оболочке дистрибутива Ubuntu.

  1. Перейдите в меню «Показать приложения», где отыщите «Системный монитор» и запустите его, кликнув по значку левой кнопкой мыши.

В появившемся окне вы увидите список процессов. Найдите имя необходимой для завершения задачи.

Дополнительно вы можете переместиться в свойства объекта через контекстное меню, чтобы посмотреть всю информацию о нем.

Щелкните правой кнопкой мыши по строке и выберите пункт «Завершить». Это же действие выполняется через горячую клавиш Ctrl + E. Еще внизу имеется кнопка, позволяющая завершить процесс без вызова контекстного меню.

Если же операция не завершилась по каким-либо причинам, задействуйте опцию «Убить».

Ознакомьтесь с информацией в предупреждении и подтвердите свои намерения.

В преимущественном большинстве графических оболочек системный монитор реализован похожим образом, поэтому каких-то проблем с пониманием интерфейса возникнуть не должно.

Способ 2: Команда kill

Для применения команды kill потребуется знание PID (идентификатора процесса), поскольку именно так осуществляется применение аргументов. В статье ниже мы детально описали операцию просмотра списка процессов для получения различной информации. Обязательно ознакомьтесь с ней перед выполнением следующей инструкции.

Подробнее: Просмотр списка процессов в Linux

Далее остается только запустить «Терминал» и задействовать упомянутую команду. Для начала изучите ее простой синтаксис: . Теперь давайте рассмотрим пример «убийства».

  1. Откройте меню приложений и запустите «Терминал».

Введите простую команду для получения информации об указанном процессе, где name — имя желаемой программы.

В отобразившемся результате отыщите главный PID и запомните его.

Введите для завершения процесса через сигнал SIGTERM. Вместо PID вам нужно написать определенный ранее номер идентификатора.

Теперь вы можете снова использовать , чтобы проверить, была ли завершена операция.

То же самое действие по «убийству» осуществляется и через другой аргумент путем ввода .

Если приведенные выше команды не принесли никакого результата, потребуется обозначить сигнал SIGKILL, вставив команду .

Учтите, что некоторые процессы запускаются от имени суперпользователя, соответственно, для их завершения требуются привилегии. Если при попытке ввода kill вы получаете информацию «Отказано в доступе», вводите перед основной командой sudo, чтобы получилось .

Способ 3: Команда pkill

Следующая консольная утилита называется pkill и является модернизированной версией предыдущей команды. Здесь все реализовано точно по такому же образу, но вместо PID от пользователя требуется вводить название процесса.

  1. Для отправки сигнала SIGTERM используйте .

После вы можете убедиться, что операция была успешно завершена.

Задайте вручную тип сигнала, введя такую форму , где -TERM — необходимый сигнал.

Используйте для определения того, что процесс больше не выполняется, если вы не хотите задействовать ps

Способ 4: Команда killall

В качестве последнего способа мы рассмотрим команду под названием killall. Ее функционирование и синтаксис выглядят точно так же, как у всех предыдущих утилит, поэтому останавливаться на этом мы не будем. Только уточним, что эта команда позволяет завершить все процессы с указанным названием разом и может быть использована в разных случаях.

Теперь вы знаете все о завершении процессов в Linux. Перед выполнением методов убедитесь, что принудительное «убийство» не приведет к системным сбоям. Если же ни один вариант не позволил полностью избавиться от процесса, попробуйте просто перезагрузить компьютер или удалить софт, связанный с этой опцией.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Что такое процесс?

Чтобы понять что отображает команда ps сначала надо разобратся что такое процесс. Процесс Linux — это экземпляр программы, запущенный в памяти. Все процессы можно разделить на обычные и фоновые. Более подробно об этом написано в статье управление процессами Linux. Linux — это многопользовательская система, каждый пользователь может запускать одни и те же программы, и даже один пользователь может захотеть запустить несколько экземпляров одной программы, поэтому ядру нужно как-то идентифицировать такие однотипные процессы. Для этого каждому процессу присваивается PID (Proccess Identificator).

Каждый из процессов может находиться в одном из таких состояний:

  • Запуск — процесс либо уже работает, либо готов к работе и ждет, когда ему будет дано процессорное время;
  • Ожидание — процессы в этом состоянии ожидают какого-либо события или освобождения системного ресурса. Ядро делит такие процессы на два типа — те, которые ожидают освобождения аппаратных средств и приостановление с помощью сигнала;
  • Остановлено — обычно, в этом состоянии находятся процессы, которые были остановлены с помощью сигнала;
  • Зомби — это мертвые процессы, они были остановлены и больше не выполняются, но для них есть запись в таблице процессов, возможно, из-за того, что у процесса остались дочерние процессы.

А теперь давайте перейдем ближе к практике.

Что такое процесс?

Начнем с того, что разберемся в терминах. По сути, процесс — это каждая программа. Как я уже говорил для каждой запускаемой программы создается отдельный процесс. В рамках процесса программе выделяется процессорное время, оперативная память и другие системные ресурсы. У каждого процесса есть свой идентификатор, Proccess ID или просто PID, по ним, чаще всего и определяются процессы Linux. PID определяется неслучайно, как я уже говорил, программа инициализации получает PID 1, а каждая следующая запущенная программа — на единицу больше. Таким образом PID пользовательских программ доходит уже до нескольких тысяч.

На самом деле, процессы Linux не настолько абстрактны, какими они вам сейчас кажутся. Их вполне можно попытаться пощупать. Откройте ваш файловый менеджер, перейдите в корневой каталог, затем откройте папку /proc. Видите здесь кучу номеров? Так вот это все — PID всех запущенных процессов. В каждой из этих папок находится вся информация о процессе.

Например, посмотрим папку процесса 1. В папке есть другие под каталоги и много файлов. Файл cmdline содержит информацию о команде запуска процесса:

Поскольку у меня используется система инициализации Systemd, то и первый процесс запускается для нее. С помощью каталога /proc можно сделать все. Но это очень неудобно, особенно учитывая количество запущенных процессов в системе. Поэтому для реализации нужных задач существуют специальные утилиты. Перейдем к рассмотрению утилит, которые позволяют реализовать управление процессами в Linux.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.

Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.

Команды Linux окружения пользователя

29. su / sudo

Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы. Я писал про права суперпользователя в этой статье.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.

31. alias

Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить. Здесь собрано несколько полезных алиасов.

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

Сообщает вам время работы системы. Не очень существенная информация, но может быть полезна для случайных вычислений или просто ради интереса, чтобы узнать, как давно был перезагружен сервер.

34. sleep

Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Заключение

Сегодняшнее обсуждение вращалось вокруг различных методов, с помощью которых вы можете проверить запущенные процессы в Linux Mint 20. Эти методы могут использоваться в зависимости от того, какой вывод вы хотите получить. Первый метод просто перечисляет все запущенные процессы сразу, тогда как второй метод представляет их в красивой древовидной структуре, которую легче читать и обрабатывать. Третий метод следует табличной структуре для отображения запущенных процессов вместе с некоторой дополнительной информацией о них, тогда как четвертый более или менее отображает ту же информацию, но с относительно более приятным интерфейсом. Я надеюсь, что после ознакомления с этим руководством вы сможете легко проверить все запущенные процессы в операционной системе Linux Mint 20.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: