ps -ef와 ps -auxwww의 차이점은 무엇입니까?

ps -ef와 ps -auxwww의 차이점은 무엇입니까?

차이점이 무엇인지 설명해 줄 수 있는 사람이 있나요?

ps -ef

그리고

ps -auxwww

몇 가지 예가 있나요?


나는 단지 그들 사이의 차이점을 알고 싶습니다. 하나 확인했어요우편 엽서ps -ef긴 명령줄이 있는 프로세스는 나열되지 않지만 ps -auxwww해당 프로세스도 나열된다는 정보를 제공합니다 .

답변1

ps이는 시스템에 따라 매우 의존적인 명령입니다. 역사적인 이유로 인해 다양한 맛이 있었고 항상 있어 왔습니다.

ps -efefAT&T에서 Unix 상용화를 담당하는 부분인 USG(Unix Support Group)를 기반으로 하는 Uller 형식 목록으로 Unices에 대한 정보를 얻기 위한 구문입니다 . 또는 원하는 경우 SysV 구문을 사용할 수 있습니다. 단, SysV 구문 ps -ef은 1980년 SysIII에 존재했습니다.

이는 POSIX에 의해 지정되지만 XSI 옵션에서만 지정됩니다(SysV 기반 시스템에 어떤 형태의 표준화를 제공하기 위해 고안되었으며 현재 POSIX에 병합된 X/Open 사양에 해당).

가장 가까운 POSIX에 해당하는 것은 ps -A -o user,pid,ppid,tty,time,args(누락 C(CPU) 열)입니다.

ps auxBSD 구문이 될 것입니다.학생AT&T Research(Bell Laboratories)에서 개발한 Unix 원본 버전을 기반으로 한 시스템입니다. 당신은 거기에서 그것을 사용하지 않았습니다 -.a모두프로세스(현재 터미널과 관련된 프로세스뿐만 아니라 u)사용자 측 출력x터미널과 관련되지 않은 프로세스도 포함하여 추가 정보를 포함합니다 (Research Unix v3에는 처음 출시되었을 때 ps이미 이 기능이 있었습니다 ). ~을 위한-xw넓은훨씬 나중에 추가되었습니다.

일반적으로 Linux 기반 시스템에서 볼 수 있는 구현은 procps ps서로 다른(종종 호환되지 않는) 구문, SysV 구문, BSD 구문 또는 훨씬 더 유사한 HP/UX 또는 AIX 구문을 조화시키려고 시도하므로 대부분의 구문이 지원되지만 예외 : 하나가 다른 하나와 충돌합니다.

시스템의 매뉴얼 페이지에서는 다양한 플래그의 의미에 대한 모든 세부 정보를 제공합니다.

명령줄 잘림 여부 ps -ef는 시스템, 시스템 버전, 구현 및 버전 ps, 출력이 터미널로 전송되는지 여부에 따라 크게 달라집니다. 일부 지원으로 -w인해 더 넓어졌습니다. 일부 시스템(이전 버전의 Linux 포함)에서는 명령줄이 시스템 자체에 의해 잘리므로 크기가 매우 큰 경우 전체 명령줄을 쉽게 얻을 수 없습니다.

기본적으로 필수 필드를 지정하는 옵션도 있습니다.

ps -A -o pid -o args

예를 들어, ll 프로세스의 pid 및 명령줄에만 해당됩니다 A(기술적으로는 프로세스가 실행한 마지막 명령에 전달되는 인수 목록이지만 많은 시스템에서 프로세스가 이를 임의로 변경할 수도 있음).

ps -A -o pid= -o args=

제목을 건너뛰세요.

모든 시스템이 동일한 필드 목록을 지원하는 것은 아닙니다.

스크립트에서는 다음을 고수하는 것이 좋습니다.POSIX 구문(선택적 기능은 피하세요)

특정 기준(명령줄 포함)을 기반으로 프로세스를 검색하려면 pgrep( pkill를 사용하여 종료)을 사용하세요. 이는 표준은 아니지만 일반적이며 핸들보다 사용하기 쉽습니다 ps.

관련 정보