에 따르면 man ps
, ps -aux
" 표준 (UNIX) 구문을 사용하여 시스템의 모든 프로세스를 보려면 "입니다. 출력을 표시하기 위해 사용자 정의 형식을 설정하는 방법을 찾지 못했습니다.
그러나 BSD 구문 에서는 다음 과 같이 열 너비를 설정할 수 있습니다 user:<width>
. 다음은 사용자 이름 열 너비를 20 (또는 다른 값)으로 설정하여 동일한 정보를 제공해야합니다.
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
(매우) 긴 이름으로 출력 :
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
열 너비를 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
편의상 다음 줄을 추가 할 수 있습니다 ~/.bashrc
.
alias psaux='ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm'
그래서 그 ps aux
동안 "정상"출력이며, psaux
당신에게 전체 이름 - 버전을 제공합니다.
노트 :
이름 열을 마지막 위치로 이동하여 전체 이름을 표시 할 수도 있습니다.
ps axo pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm,user
제공합니다 :
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
USER 열의 너비를 자동으로 설정하여 출력을 표시하는 방법
USER- 열의 너비를 설정하는 또 다른 더 세련된 방법이 있습니다. USER 열 너비에 대해 매우 높은 값으로 명령을 실행하면 작은 스크립트를 사용하여 행을 다시 정렬하여 열 너비를 가장 긴 사용자 이름으로 조정할 수 있습니다.
그렇게하려면
그런 다음 psaux
터미널 창에서 실행 하면 USER 열의 너비가 자동으로 출력됩니다.
스크립트 :
#!/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:])