ps aux
출력과 유사 하지만 프로세스를 표시하지 않고 프로세스 목록을 보고 싶습니다 root
.
답변1
ps u $(pgrep -vu root)
설명하다
pgrep
- 프로세스를 검색하여 숫자 PID를 반환합니다.-v
- 필터의 역수-u root
- 루트가 소유한 프로세스 필터링$(…)
- 대체ps u …
- 일련의 프로세스를 보여주는 목록 보기
고쳐 쓰다:원래 솔루션은 실제로 아래의 다른 솔루션과 동일하며 xargs
대신 사용되었습니다 $(…)
.
pgrep -vu root | xargs ps u
답변2
이는 Fedora 35(procps-ng 3.3.17의 ps)에서 작동합니다.
ps u -N -u root
개인적으로 저는 항상 그 f
로고를 사용합니다. 출력을 더 쉽게 읽을 수 있도록 합니다.ps fu -N -u root
답변3
이것은 내 Debian 시스템과 macOS 10.15에서 작동합니다. 아마도 조금지나침이 요구 사항에 대해서는 여전히 괜찮습니다.적응할 수 있는기타 요구사항:
ps -eo pid,stat,ruser,command | awk '{ if ($3 != "root") print $0;}'
PID STAT RUSER COMMAND
312 Ssl systemd+ /lib/systemd/systemd-timesyncd
349 Ss avahi avahi-daemon: running [raspberrypi4b.local]
359 Ss nobody /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
365 Ss message+ /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
393 S avahi avahi-daemon: chroot helper
620 Ss vnstat /usr/sbin/vnstatd -n
910 Ss Debian-+ /usr/sbin/exim4 -bd -q30m
2193 R+ pi ps -eo pid,stat,ruser,command
2194 S+ pi awk { if ($3 != "root") print $0;}
# alternatively, for a more compact output:
ps -eo pid,ruser | awk '{ if ($2 != "root") print $0;}'
PID RUSER
312 systemd-timesync
349 avahi
359 nobody
365 messagebus
393 avahi
620 vnstat
910 Debian-exim
2204 pi
2205 pi
참고: 위 목록은 간결성을 위해 제외되었습니다.
요약:
ps -e
시스템의 모든 프로세스를 표시하려면 다음 명령을 사용하십시오.표준 구문( aux
예BSD 구문)
ps -eo
이 옵션은 -o
표시되는 정보를 선택하기 위한 섹션에 나열된 여러 옵션 중 하나입니다.OUTPUT FORMAT CONTROL
man ps
ps
왜 당신이 신경쓰지 않는 것들로 당신의 출력물을 어지럽히는가?? 당신이 모든 것을 원한다면, ps -e
이것이 당신에게 필요한 것입니다.
ps -eo pid,stat,ruser,command
이 -o
옵션을 사용하면 하나 이상의 매개변수를 사용하여 출력 매개변수를 선택할 수 있습니다.핵심 단어man ps
이 STANDARD FORMAT SPECIFIERS
섹션 아래에 나열됩니다 . 이것에예에는 ps
모든 PID, 프로세스 상태, 실제 사용자 ID 및 command
이를 생성한 ID가 나열됩니다. 전체 키워드 목록을 보려면 STANDARD FORMAT SPECIFIERS
리소스 섹션을 다시 참조하세요.man ps
awk
모든 사용자 프로세스의 간단한 필터링을 위한 파이프입니다 root
. 물론 출력의 다른 필드를 필터링하도록 쉽게 수정할 수 있습니다 ps
.