Una opción del mandato ps de los sistemas operativos tipo Unix que no suele estar muy bien documentada y que en mi opinión es tremendamente útil es la que permite personalizar la salida del mandato para que muestre la información que te interesa de cada proceso.
La opción es -o, y acepta como argumentos una gran cantidad de posibilidades, que normalmente se encuentran descritas en la página del manual como standard format specifiers (o directamente no se encuentran
).
Un ejemplo de cómo lucen normalmente las órdenes de tipo ps que suelo lanzar en mis terminales:
$ ps fax -o user,uid,pid,ppid,pgrp,%cpu,%mem,rss,vsize,size,tname,etime,start_time,args
USER UID PID PPID PGRP %CPU %MEM RSS VSZ SZ TTY ELAPSED START COMMAND
root 0 3434 1 3434 0.0 0.1 552 5404 464 ? 12-22:14:08 Feb23 /usr/sbin/sshd
root 0 14466 3434 14466 0.0 0.5 2572 8124 512 ? 36:04 12:13 \_ sshd: deigote [priv]
deigote 1000 14469 14466 14466 0.0 0.2 1440 8280 668 ? 36:01 12:13 \_ sshd: deigote@pts/2
deigote 1000 14470 14469 14470 0.0 0.6 3344 6548 2172 pts/2 36:01 12:13 \_ -bash
root 0 16310 14470 16310 0.1 0.2 1196 4292 472 pts/2 00:06 12:49 \_ su -
root 0 16311 16310 16311 0.0 0.3 1688 4740 364 pts/2 00:03 12:49 \_ -su
root 0 16315 16311 16315 0.0 0.2 992 4148 580 pts/2 00:00 12:50 \_ ps fax -o user,uid,pid,ppid,pgrp,%cpu,%mem,rss,vsize,size,tname,etime,start_time,args
Y, de hecho, un par de alias que suelo tener siempre definidos, entre otros, son:
alias ps='ps fax -o user,uid,pid,ppid,pgrp,%cpu,%mem,rss,vsize,size,tname,etime,start_time,args'
alias psg='ps | head -n 1 && ps | grep'