Как можно получить количество процессов, где программа запущена?

В первую очередь, я сохраняю в файле все рабочие процессы.

ps -el > file1

Моя идея состоит в том, чтобы считать количество строк в file1, где vi присутствует.

Я попробовал что-то как wc -l | grep vi file1

Как надлежащий путь состоит в том, чтобы сделать это?

2
задан 8 June 2016 в 16:10

2 ответа

Ваш код почти работает, просто необходимо измениться

wc -l | grep vi file1

к

grep vi file1 | wc -l

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

1
ответ дан 2 December 2019 в 05:16

Почему не использование pgrep:

pgrep "^vi" | wc -l

pgrep страница справочника:

РЕДАКТИРОВАНИЕ ОПИСАНИЯ

   pgrep looks through the currently running processes and lists the process 
   IDs which matches the selection criteria to stdout.

РЕЗЮМЕ

   pgrep [options] pattern

: (Используя файл):

ps aux > file1
awk '{ print $11 }' file1 | egrep '^vi' | wc -l
0
ответ дан 2 December 2019 в 05:16

Другие вопросы по тегам:

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