-U를 사용하여 명령 처리

-U를 사용하여 명령 처리
ps -f -U

이 명령이 무엇을 하는지 이해할 수 없습니다. 위 명령의 출력을 얻었지만 이해할 수 없습니다.

답변1

ps옵션에는 -U보려는 프로세스의 사용자 목록(또는 더 정확하게는 프로세스가 실행 중인 사용자 이름)이 포함되어야 합니다. 목적은 분명히 사용자 이름으로 필터링하는 것입니다.

이 같은:

$ ps -f -U syslog,avahi                                                                                                                                                                                                                     
UID        PID  PPID  C STIME TTY          TIME CMD
syslog     522     1  0 10月22 ?      00:00:00 /usr/sbin/rsyslogd -n
avahi      594     1  0 10月22 ?      00:00:00 avahi-daemon: running [eagle.local]
avahi      622   594  0 10月22 ?      00:00:00 avahi-daemon: chroot helper

ps이 옵션은 FreeBSD와 coreutils 모두에 존재합니다.POSIX 표준, 그래서 나는 그것이 상당히 이식 가능한 옵션이라고 생각합니다.

-fcoreutils 매뉴얼에 따르면 다음 과 같습니다 ps.

   -f     Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns.  It also causes the command arguments to be printed.  When used with -L, the NLWP (number of threads)
          and LWP (thread ID) columns will be added.  See the c option, the format keyword args, and the format keyword comm.

하지만FreeBSD설명서에는 다음과 같이 명시되어 있습니다.

 -f      Show command-line and environment information about swapped out
     processes.  This option is honored only if the UID of the user is
     0.

따라서 목표는 두 경우 모두 출력의 전체 형식을 얻는 것이지만 설명은 매우 다릅니다. 또한 FreeBSD 옵션에는 교체된 프로세스가 포함되어서는 안 됩니다. 이건 잃어버렸기 때문에 휴대성이 좋지 않아요OpenBSD 매뉴얼.

관련 정보