The command ps produces a list of processes. If the parameter r is added, only those processes really running are shown:
$ ps r PID TTY STAT TIME COMMAND 22163 pts/7 R 0:01 -zsh 3396 pts/3 R 0:03 emacs new-makedoc.txt 20027 pts/7 R 0:25 emacs xml/common/utilities.xml 20974 pts/7 R 0:01 emacs jj.xml 27454 pts/7 R 0:00 ps r
This parameter must be written without a minus sign. The various parameters are written sometimes with and sometimes without the minus sign. The man page could easily frighten off potential users, but fortunately, the ps --help command produces a brief page of help.
To check how many emacs processes are running, use:
$ ps x | grep emacs 1288 ? S 0:07 emacs 3396 pts/3 S 0:04 emacs new-makedoc.txt 3475 ? S 0:03 emacs .Xresources 20027 pts/7 S 0:40 emacs xml/common/utilities.xml 20974 pts/7 S 0:02 emacs jj.xml $ pidof emacs 20974 20027 3475 3396 1288
The parameter -p selects processes via the process ID:
$ ps www -p $(pidof xterm) PID TTY STAT TIME COMMAND 9025 ? S 0:01 xterm -g 100x45+0+200 9176 ? S 0:00 xterm -g 100x45+0+200 29854 ? S 0:21 xterm -g 100x75+20+0 -fn \ -B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-iso10646-1 4378 ? S 0:01 xterm -bg MistyRose1 -T root -n root -e su -l 25543 ? S 0:02 xterm -g 100x45+0+200 22161 ? R 0:14 xterm -g 100x45+0+200 16832 ? S 0:01 xterm -bg MistyRose1 -T root -n root -e su -l 16912 ? S 0:00 xterm -g 100x45+0+200 17861 ? S 0:00 xterm -bg DarkSeaGreen1 -g 120x45+40+300 19930 ? S 0:13 xterm -bg LightCyan 21686 ? S 0:04 xterm -g 100x45+0+200 -fn \ lucidasanstypewriter-12 23104 ? S 0:00 xterm -g 100x45+0+200 26547 ? S 0:00 xterm -g 100x45+0+200