`ps f`는 어떤 프로세스를 보여주나요?

`ps f`는 어떤 프로세스를 보여주나요?

procps-ng의 ps에서 제공

$ ps f | wc -l
225
$ ps -e | wc -l
410
$ ps | wc -l
4

ps -e모든 프로세스를 표시하고 ps현재 터미널을 제어 터미널로 사용하는 프로세스만 표시합니다. 어떤 과정이 보여지나요 ps f? 감사해요.

답변1

Ubuntu 시스템에서 이 명령은 ps f표시된 것과 정확히 동일한 프로세스를 표시 ps하지만 ASCII 아트 프로세스 트리를 사용합니다.

이 옵션은 출력 형식을 수정하는 옵션입니다 ps. 이는 psUbuntu 매뉴얼의 "Output Modifiers" 섹션에 나열되어 있습니다. 따라서 표시될 프로세스는 수정되지 않습니다.

그걸 써함께다른 옵션(예 ps f -e: )을 사용하면 명령의 출력 형식만 수정되고 프로세스 선택은 수정되지 않습니다.

답변2

처음에는 yes라고 썼지 ps f만 이제 질문은 입니다 ps --forest. 둘이 같지는 않은데...

$ ps f
  PID TTY      STAT   TIME COMMAND
27614 pts/1    Ss     0:00 -ksh
27656 pts/1    R+     0:00  \_ ps f
 3356 pts/0    Ss     0:00 -ksh
 3370 pts/0    S+     0:06  \_ ssh mercury7

$ ps --forest
  PID TTY          TIME CMD
27614 pts/1    00:00:00 ksh
27658 pts/1    00:00:00  \_ ps

ps g그들은 와 같은 범위를 포함합니다ps

예를 들어

$ ps g
  PID TTY      STAT   TIME COMMAND
 3356 pts/0    Ss     0:00 -ksh
 3370 pts/0    S+     0:06 ssh mercury7
27614 pts/1    Ss     0:00 -ksh
28932 pts/1    R+     0:00 ps g

$ ps 
  PID TTY          TIME CMD
27614 pts/1    00:00:00 ksh
28755 pts/1    00:00:00 ps

답변3

~에 따르면매뉴얼 페이지, 명확 하지 않습니다 ps f.ps --forest

f:

ASCII 아트 프로세스 계층 구조(포리스트).

--forest:

ASCII 아트 흐름 트리.

그러나 둘 다 "에 나열되어 있습니다.출력 수정자" 대신 "출력 형식 제어"를 사용하므로 출력이 다릅니다.

f그렇다면 vs 의 정확한 차이점은 무엇입니까 --forest? (면책조항: 저는 UNIX 전문가가 아니기 때문에 아직 UNIX 소스 코드를 읽지 않았습니다 ps.)

여기에 표시되는 것은 --forest하나의 루트가 있는 "트리"("포리스트"라고도 함)입니다. 이는 프로세스의 하나의 SID(대략 현재 로그인 세션과 관련된 세션 ID)를 의미하므로 다른 프로세스를 표시하지 않습니다. 뿌리 . 반면에 f숲과 같은 다른 뿌리의 프로세스가 표시됩니다.

따라서 사용 사례는 다음과 같습니다.

  • ps --forest이 세션에서 시작된 프로세스의 "트리"를 가져오려고 할 때 사용됩니다.
  • ps f모든 세션에서 현재 사용자가 시작한 프로세스의 "포리스트"를 가져오려는 경우에 사용됩니다.

관련 정보