Según man ps
, ps -aux
es "Para ver todos los procesos en el sistema utilizando la sintaxis estándar (UNIX) ". No encontré ninguna manera de establecer un formato definido por el usuario para mostrar la salida.
En BSD sintaxis sin embargo, se puede ajustar el ancho de la columna como: user:<width>
. Lo siguiente debería proporcionarle la misma información, estableciendo el ancho de columna del nombre de usuario en 20 (o cualquier otro valor):
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
salida con nombre (muy) largo:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
.........................................................................................
root 3826 0.0 0.1 77828 4788 ? Ss 08:15:55 00:00:00 cupsd
lp 3831 0.0 0.0 63156 2224 ? S 08:15:56 00:00:00 dbus
lp 3832 0.0 0.0 63156 2220 ? S 08:15:56 00:00:00 dbus
root 4822 1.7 5.1 446964 210416 tty8 Ss+ 08:38:00 00:03:27 Xorg
root 4923 0.0 0.1 174652 4412 ? Sl 08:38:02 00:00:00 lightdm
tantemarievanhier 5181 0.0 0.1 544216 4796 ? Sl 08:38:08 00:00:00 gnome-keyring-d
tantemarievanhier 5228 0.0 0.0 40492 2740 ? Ss 08:38:08 00:00:00 init
tantemarievanhier 5369 0.0 0.0 41816 3064 ? Ss 08:38:09 00:00:02 dbus-daemon
tantemarievanhier 5376 0.0 0.0 10616 316 ? Ss 08:38:09 00:00:00 ssh-agent
establecer ancho de columna a 7:
ps axo user:7,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
.........................................................................................
tantem+ 6623 0.0 0.0 287228 3820 ? Sl 08:39:00 00:00:00 unity-webapps-s
tantem+ 6679 0.0 0.4 676856 18640 ? Sl 08:39:20 00:00:00 update-notifier
tantem+ 6721 0.0 0.1 541224 7056 ? Sl 08:40:20 00:00:00 deja-dup-monito
tantem+ 6743 0.0 0.5 810616 21888 ? Sl 08:41:55 00:00:00 unity-scope-hom
tantem+ 6758 0.0 0.2 717256 10352 ? Sl 08:41:55 00:00:00 unity-files-dae
tantem+ 6760 0.0 0.5 607208 22920 ? Sl 08:41:55 00:00:00 unity-scope-loa
tantem+ 6784 0.0 0.2 350676 9060 ? Sl 08:41:56 00:00:00 unity-music-dae
Por razones de conveniencia, puede agregar la siguiente línea a ~/.bashrc
:
alias psaux='ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm'
así que esa ps aux
es la salida "normal", mientras psaux
te da la versión completa del nombre.
Nota:
También puede mostrar el nombre completo moviendo la columna del nombre a la última posición:
ps axo pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm,user
da:
PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND USER
5181 0.0 0.1 544216 4548 ? Sl 08:38:08 00:00:00 gnome-keyring-d tantemarievanhier
5228 0.0 0.0 40492 2668 ? Ss 08:38:08 00:00:00 init tantemarievanhier
5369 0.0 0.0 41816 3032 ? Ss 08:38:09 00:00:07 dbus-daemon tantemarievanhier
Cómo mostrar la salida, configurando el ancho de la columna USUARIO automáticamente
Hay otra forma más refinada de establecer el ancho de la columna USUARIO. Si ejecutamos el comando con un valor muy alto para el ancho de columna USER, podemos usar un pequeño script para reorganizar las líneas, ajustando el ancho de la columna al nombre de usuario más largo.
Para hacerlo
Luego, al ejecutarse psaux
en una ventana de terminal, se mostrará la salida con un ancho automático de la columna USUARIO.
La secuencia de comandos:
#!/usr/bin/env python3
import subprocess
command = "ps axo user:30,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm"
l = subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").split("\n")
minlen = sorted(set([30-len(item.split(" ")[0]) for item in l]))[0]
for line in l:
print(line[:30-minlen]+line[30:])