Göre man ps
, ps -aux
bir "kullanarak sistemde her süreci görmek için standart (UNIX) sözdizimi ". Çıktıyı görüntülemek için kullanıcı tanımlı bir biçim ayarlamanın bir yolunu bulamadım.
In BSD sözdizimi ancak, gibi sütunun genişliğini ayarlayabilirsiniz: user:<width>
. Aşağıdakiler, kullanıcı adı sütun genişliğini 20 (veya başka bir değer) olarak ayarlayarak size aynı bilgileri vermelidir:
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
(çok) uzun isim ile çıktı:
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
sütun genişliğini 7 olarak ayarlama:
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
Kolaylık nedeniyle, aşağıdaki satırı ekleyebilirsiniz ~/.bashrc
:
alias psaux='ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm'
yani bu ps aux
"normal" çıktıdır, psaux
tam ad sürümünü verir.
Not:
Ad sütununu son konuma taşıyarak tam adı da gösterebilirsiniz:
ps axo pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm,user
verir:
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
Çıktı nasıl görüntülenir, USER sütununun genişliği otomatik olarak ayarlanır
USER sütununun genişliğini ayarlamanın daha rafine bir yolu daha vardır. Komutu USER sütun genişliği için çok yüksek bir değerle çalıştırırsak, sütun genişliğini en uzun kullanıcı adına ayarlayarak satırları yeniden düzenlemek için küçük bir komut dosyası kullanabiliriz.
Böyle yaparak
Daha sonra, psaux
bir terminal penceresinde çalışmak çıktıyı USER sütununun otomatik genişliğiyle görüntüler.
Senaryo:
#!/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:])