Написание
ps aux | awk '{print $11}'
Дает мне все экземпляры процесса, но как их подсчитать, есть ли команда, которая делает это?
Поскольку ps aux печатает информацию об одном процессе на строку (включая заголовок, который можно отключить с помощью опции --no-heading).
Поэтому вы можете легко подсчитать процессы, просто подсчитав строки этого выхода, используя wc:
ps aux --no-heading | wc -l
Поскольку ps aux печатает информацию об одном процессе на строку (включая заголовок, который можно отключить с помощью опции --no-heading).
Поэтому вы можете легко подсчитать процессы, просто подсчитав строки этого выхода, используя wc:
ps aux --no-heading | wc -l
Поскольку ps aux печатает информацию об одном процессе на строку (включая заголовок, который можно отключить с помощью опции --no-heading).
Поэтому вы можете легко подсчитать процессы, просто подсчитав строки этого выхода, используя wc:
ps aux --no-heading | wc -l
В других ответах уже упоминалось, что ps aux добавляет заголовок, поэтому вам также нужно --no-heading. Что еще мы можем сделать, так это то, что мы можем использовать команду pgrep для получения PID процессов, а затем подсчитывать их.
В принципе, мы можем сделать,
pgrep '^.*$' | awk 'END{print NR}'
Фокус здесь в том, что Блок кода END{} всегда выполняется после обработки файла обработки, stdin или конвейера, а NR остается неизменным, что является «количеством записей» или количеством строк, если это только один файл или конвейер. Что касается pgrep, мы просто сопоставляем любой процесс с регулярным выражением ^.*$, тем самым получаем список всех PID.
И для подсчета строк вы можете взять буквально любой метод из. Как мне подсчитать текст линии? вопрос, это не только должно быть awk.
Если вы хотите использовать awk:
ps aux --no-heading | awk 'END {print NR}'
, и если вы хотите подсчитать процесс конкретного пользователя:
ps -u ravexina -f --no-header | wc -l
В качестве альтернативы вы можете проверить [ f6]:
ls /proc | grep ^[1-9] -c
или
ls -d /proc/[1-9]* | wc -l
Если вы хотите использовать awk:
ps aux --no-heading | awk 'END {print NR}'
, и если вы хотите подсчитать процесс конкретного пользователя:
ps -u ravexina -f --no-header | wc -l
В качестве альтернативы вы можете проверить /proc:
ls /proc | grep ^[1-9] -c
или
ls -d /proc/[1-9]* | wc -l
В других ответах уже упоминалось, что ps aux добавляет заголовок, поэтому вам также нужно --no-heading. Что еще мы можем сделать, так это то, что мы можем использовать команду pgrep для получения PID процессов, а затем подсчитывать их.
В принципе, мы можем сделать,
pgrep '^.*$' | awk 'END{print NR}'
Фокус здесь в том, что Блок кода END{} всегда выполняется после обработки файла обработки, stdin или конвейера, а NR остается неизменным, что является «количеством записей» или количеством строк, если это только один файл или конвейер. Что касается pgrep, мы просто сопоставляем любой процесс с регулярным выражением ^.*$, тем самым получаем список всех PID.
И для подсчета строк вы можете взять буквально любой метод из. Как мне подсчитать текст линии? вопрос, это не только должно быть awk.
Если вы хотите использовать awk:
ps aux --no-heading | awk 'END {print NR}'
, и если вы хотите подсчитать процесс конкретного пользователя:
ps -u ravexina -f --no-header | wc -l
В качестве альтернативы вы можете проверить /proc:
ls /proc | grep ^[1-9] -c
или
ls -d /proc/[1-9]* | wc -l
В других ответах уже упоминалось, что ps aux добавляет заголовок, поэтому вам также нужно --no-heading. Что еще мы можем сделать, так это то, что мы можем использовать команду pgrep для получения PID процессов, а затем подсчитывать их.
В принципе, мы можем сделать,
pgrep '^.*$' | awk 'END{print NR}'
Фокус здесь в том, что Блок кода END{} всегда выполняется после обработки файла обработки, stdin или конвейера, а NR остается неизменным, что является «количеством записей» или количеством строк, если это только один файл или конвейер. Что касается pgrep, мы просто сопоставляем любой процесс с регулярным выражением ^.*$, тем самым получаем список всех PID.
И для подсчета строк вы можете взять буквально любой метод из. Как мне подсчитать текст линии? вопрос, это не только должно быть awk.