Ejecutaremos unas cuantas veces yes redirigiendo su salida a /dev/null y poniendo el proceso en background para tener algo con lo que trabajar:
jgr@seiya ~ $ yes &> /dev/null & yes &> /dev/null & yes &> /dev/null &
[1] 3670
[2] 3671
[3] 3672
Si hacemos ahora un ps de los de toda la vida veremos esto (la última línea es el propio grep):
jgr@seiya ~ $ ps aux | grep yes
jgr 3670 42.8 0.0 4164 584 pts/2 R 20:12 0:19 yes
jgr 3671 41.4 0.0 4164 584 pts/2 R 20:12 0:19 yes
jgr 3672 42.8 0.0 4164 584 pts/2 R 20:12 0:19 yes
jgr 4244 0.0 0.0 6368 808 pts/2 S+ 20:13 0:00 grep --colour=auto yes
Ahora con pgrep veremos sólo los pid's de los procesos:
jgr@seiya ~ $ pgrep yes
3670
3671
3672
Y con pkill los matamos y con pgrep comprobaremos que estén realmente muertos:
jgr@seiya ~ $ pgrep yes
[1] Terminado yes >&/dev/null
[2]- Terminado yes >&/dev/null
[3]+ Terminado yes >&/dev/null
pgrep y pkill tienen algunas opciones interesantes como por ejemplo -l para mostrar el nombre de los procesos (sólo pgrep) o -u/-U para mostrar o matar sólo los procesos del usuario especificado y alguna más que podéis ver en el man de pgrep.
Bueno y ya que estamos con ps os enseñaré un alias que suelo usar en el .bashrc para hacer más cómodo el uso de ps:
export GREP_COLOR="1;32" #verde claro
alias grep='grep --colour=auto'
alias psg="ps aux | grep -v grep | grep"
Básicamente lo que hacen estos alias es colorear las concordancias del grep y eliminar la última línea de la salida del ps que corresponde al propio grep. Aquí podéis ver un ejemplo otra vez con el proceso yes del ejemplo anterior: