ps aux |awk '{$1} {++P[$1]} END {for(a in P) if (a !="USER") print a,P[a]}'
Команда ps aux позволяет вывести список всех процессов в системе, включая их ID, имя пользователя, занимаемую память и прочее. После этого, через знак «pipe» (|), происходит передача данных в утилиту awk, которая обрабатывает вывод команды ps aux и считает количество процессов для каждого пользователя.
Аргумент {$1} говорит awk использовать первый элемент строки (username) в качестве ключа, по которому происходит подсчет. Также используется несколько встроенных переменных awk — P (ассоциативный массив) и END (означает, что действие применяется к последней строке вывода).
Когда awk закончит обработку, будет выведен список пользователей и количество процессов, которые они запустили. Если a не равно «USER», то выводится имя пользователя и число процессов.
Альтернативой может быть использование команды top с опцией u (top -u ), которая позволяет отображать только процессы заданного пользователя.