루트가 아닌 사용자의 모든 프로세스를 나열하는 방법은 무엇입니까?

루트가 아닌 사용자의 모든 프로세스를 나열하는 방법은 무엇입니까?

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시스템의 모든 프로세스를 표시하려면 다음 명령을 사용하십시오.표준 구문( auxBSD 구문)

ps -eo이 옵션은 -o표시되는 정보를 선택하기 위한 섹션에 나열된 여러 옵션 중 하나입니다.OUTPUT FORMAT CONTROLman psps왜 당신이 신경쓰지 않는 것들로 당신의 출력물을 어지럽히는가?? 당신이 모든 것을 원한다면, ps -e이것이 당신에게 필요한 것입니다.

ps -eo pid,stat,ruser,command-o옵션을 사용하면 하나 이상의 매개변수를 사용하여 출력 매개변수를 선택할 수 있습니다.핵심 단어man psSTANDARD FORMAT SPECIFIERS섹션 아래에 나열됩니다 . 이것에에는 ps모든 PID, 프로세스 상태, 실제 사용자 ID 및 command이를 생성한 ID가 나열됩니다. 전체 키워드 목록을 보려면 STANDARD FORMAT SPECIFIERS리소스 섹션을 다시 참조하세요.man ps

awk모든 사용자 프로세스의 간단한 필터링을 위한 파이프입니다 root. 물론 출력의 다른 필드를 필터링하도록 쉽게 수정할 수 있습니다 ps.

관련 정보