Secondo man ps
, ps -aux
è "Per vedere ogni processo sul sistema usando la sintassi standard (UNIX) ". Non ho trovato alcun modo per impostare un formato definito dall'utente per visualizzare l'output.
In BSD sintassi tuttavia, è possibile impostare la larghezza della colonna come: user:<width>
. Quanto segue dovrebbe fornire le stesse informazioni, impostando la larghezza della colonna nome utente su 20 (o qualsiasi altro valore):
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
output con un nome (molto) lungo:
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
impostazione della larghezza della colonna su 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
Per motivi di praticità, è possibile aggiungere la seguente riga a ~/.bashrc
:
alias psaux='ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm'
in modo che ps aux
sia l'output "normale", mentre psaux
ti dà il nome completo-versione.
Nota:
Puoi anche mostrare il nome completo spostando la colonna del nome sull'ultima posizione:
ps axo pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm,user
dà:
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
Come visualizzare l'output, impostando automaticamente la larghezza della colonna USER
Esiste un altro modo più raffinato per impostare la larghezza della colonna USER. Se eseguiamo il comando con un valore molto elevato per la larghezza della colonna USER, possiamo usare un piccolo script per riorganizzare le linee, regolando la larghezza della colonna sul nome utente più lungo.
Fare così
Quindi, l'esecuzione psaux
in una finestra di terminale visualizzerà l'output con una larghezza automatica della colonna USER.
Il copione:
#!/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:])