"ps" 명령의 어떤 플래그가 Unix 플래그 형식에 적용되고 어떤 플래그가 BSD 플래그 형식에 적용됩니까? [폐쇄]

"ps" 명령의 어떤 플래그가 Unix 플래그 형식에 적용되고 어떤 플래그가 BSD 플래그 형식에 적용됩니까? [폐쇄]

ps명령은 두 가지 형식의 플래그를 사용할 수 있습니다.

  • Unix 형식의 경우 플래그 앞에 대시를 붙여야 합니다.
  • BSD 형식에서는 플래그 앞에 대시를 붙여서는 안 됩니다.

나는 찾아보았다맨페이지Unix 플래그 형식에 적용되는 플래그와 BSD 플래그 형식에 적용되는 플래그를 확인 하는 명령이 있지만 ps아무것도 찾지 못했습니다.


편집하다:이것은 중복이 아닙니다. 또 다른 질문에서는 Unix와 BSD 플래그 형식이 다른지 물었고, 이 질문에서는 Unix 플래그 형식이 무엇인지, BSD 플래그 형식이 무엇인지 물었습니다.

답변1

이것맨페이지옵션은 스타일별로 그룹화되지 않고 기능별로 그룹화됩니다. 옵션이 렌더링되는 방식을 보면 스타일을 구분할 수 있습니다.

  • BSD 옵션은 대시( a, g, T, r, x...) 없이 나열됩니다.
  • POSIX 옵션은 단일 대시( -A, -a, -d, -e, -N...)로 표시됩니다.
  • GNU 긴 옵션은 두 개의 대시( --deselect...)와 함께 나열됩니다.

Kusalananda가 제안한 것처럼 POSIX 옵션만 사용하는 것이 가장 좋으며, 다른 사람들이 말하는 내용을 알아야 하는 경우에만 사용하십시오 ps.

답변2

POSIX 표준ps유틸리티 설명요약은 다음과 같습니다.

ps [-aA] [-defl] [-g grouplist] [-G grouplist]
   [-n namelist] [-o format]... [-p proclist] [-t termlist]
   [-u userlist] [-U userlist]

"UNIX 옵션"과 "BSD 옵션"을 둘러싼 혼동이 있고 psOpenBSD, NetBSD, FreeBSD 및 macOS는 설명서에 "BSD 옵션"도 나열하지 않기 때문에 (대시 기호 없이) ps잊어버리는 것이 가장 좋습니다. UNIX 역사에서 닫힌 장의 일부라고 생각하십니까?

POSIX 이론적 근거 섹션에서는 psSystem V 기반 Unices와 BSD 기반 Unices 사이에 구현 비호환성이 있다고 언급 ps하지만(플래그가 표준화되는 방식에 대한 이유) 대시 없는 플래그는 언급하지 않습니다.

참고로:

답변3

PS는 세 가지(3) 사용 구문 스타일을 지원합니다.

  • UNIX 스타일은 그룹화할 수 있으며 앞에 대시가 와야 합니다.ps -aux
  • BSD 스타일은 그룹화할 수 있으며 대시와 함께 사용할 수 없습니다.ps aux
  • GNU 긴 옵션 앞에 두 개의 대시가 붙습니다.ps --aux

관련 정보