Любой пользователь может получить список всех процессов выполняемых в системе. Для этого можно использовать параметр –e.

$ ps -e | head
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:00 migration/0
    3 ?        00:00:00 ksoftirqd/0
    4 ?        00:00:00 watchdog/0
    5 ?        00:00:00 migration/1
    6 ?        00:00:00 ksoftirqd/1
    7 ?        00:00:00 watchdog/1
    8 ?        00:00:00 events/0
    9 ?        00:00:00 events/1
$

Обратите внимание на второй столбец TTY — это терминал, к которому подключены стандартный ввод, вывод и вывод ошибки данного процесса. Если в этом поле стоит знак вопроса, значит процесс не подключён к конкретному терминалу.
В примере показан не полный вывод программы ps, уж слишком большой он получился. Если вы хотите посчитать количество процессов, это можно сделать например так:

$ ps -e | sed -e '1d' | wc -l
126
$

В этом примере sed удаляет первую строку содержащую заголовок, остается только список процессов. А программа wc считает их количество.

Если необходимо посмотреть процессы определенного пользователя, используйте параметр –u.
Ниже показано как посмотреть процессы, выполняемые с правами пользователя apache.

$ ps -u apache
  PID TTY          TIME CMD
 1137 ?        00:00:02 httpd
 1143 ?        00:00:01 httpd
$

Параметр –t позволяет посмотреть процессы, подключенные к определенному терминалу. Например, так можно посмотреть процессы, выполняемые на терминале pts/1:

$ ps -t pts/1
  PID TTY          TIME CMD
 1199 pts/1    00:00:00 ps
31542 pts/1    00:00:00 bash
$