Нахождение процесса рассчитывает в Linux через командную строку

Я искал лучший способ найти количество выполнения процессов с тем же именем через командную строку в Linux. Например, если я хотел найти количество выполнения процессов удара и добраться "5". В настоящее время у меня есть сценарий, который делает 'pidof' и затем проводит подсчет на маркируемой строке. Это хорошо работает, но я задавался вопросом, был ли лучший путь, который может быть сделан полностью через командную строку. Заранее спасибо за Вашу справку.

25
задан Traker 17 June 2010 в 00:31
поделиться

3 ответа

В системах, в которых доступен pgrep , параметр -c возвращает количество процессов, соответствующих данному имени

pgrep -c command_name

Примечание. что это совпадение в стиле grep , а не точное совпадение, поэтому, например, pgrep sh также будет соответствовать процессам bash . Если вам нужно точное совпадение, также используйте параметр -x .

Если pgrep недоступен, вы можете использовать ps и wc .

ps -C command_name --no-headers | wc -l

Параметр -C для ps принимает имя_команды в качестве аргумента, и программа печатает таблицу с информацией о процессах, имя исполняемого файла которых совпадает с заданной командой. имя. Это точное совпадение, а не стиль grep . Параметр - no-headers подавляет заголовки таблицы, которые обычно печатаются как первая строка. С - без заголовков вы получаете одну строку на каждый сопоставленный процесс. Затем wc -l подсчитывает и печатает количество строк во входных данных.

55
ответ дан 28 November 2019 в 17:51
поделиться
result=`ps -Al | grep command-name | wc -l`
echo $result
11
ответ дан 28 November 2019 в 17:51
поделиться
ps -Al | grep -c bash
7
ответ дан 28 November 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: