ps 명령의 -x 및 -a 플래그에 대한 설명

ps 명령의 -x 및 -a 플래그에 대한 설명

~에 따르면man명령 페이지 ps, x플래그

특정 BSD 스타일("-" 없음) 옵션 또는 BSD와 유사한 ps 특성 설정을 사용할 때 모든 프로세스 세트에 적용되는 BSD 스타일 "tty가 있어야 함" 제한을 해제합니다. 이러한 방식으로 선택된 프로세스 세트는 다른 방식으로 선택된 프로세스 세트에 추가됩니다. 이를 설명하는 또 다른 방법은 이 옵션을 사용하면 ps가 소유한 모든 프로세스(ps와 동일한 EUID)를 나열하거나 a 옵션과 함께 사용된다는 것입니다.

-a로고 의 경우 :

-a 세션 리더(getsid(2) 참조)와 터미널과 연결되지 않은 프로세스를 제외한 모든 프로세스를 선택합니다.

Ubunbtu 16.04노트북에서:

$ ps -a | wc -l
132
/etc/systemd/system
$ ps -x | wc -l
113

이것은 터미널과 관련된 132개의 프로세스가 있다는 것을 의미합니까?아니요동시에 리더를 만나나요)? terminator인스턴스가 하나만 열려 있고 일부 명령을 실행하는 터미널 창만 열려 있는데 무슨 일이 일어나고 있나요 ?

누구나 플래그 -x-a플래그의 차이점을 자세히 설명할 수 있나요?

우리 모두는 얻는 방법을 알고 있습니다모두프로세스 실행 이 두 가지를 결합해야 하는데 정확한 차이점은 무엇입니까?

답변1

Unix 스타일과 BSD 스타일 옵션 사이에 약간의 혼동이 있는 것 같습니다. 포함된 a옵션 에는 (Unix 스타일), (BSD 스타일), (BSD 스타일) x이 포함됩니다 . 당신이 사용한 이후로-aax-x저는 psLinux 배포판의 일반적인 구현에 중점을 둘 것입니다.

기본적으로 ps현재 터미널에 연결된 호출 사용자의 프로세스만 나열됩니다.

a"사용자 호출" 제한 해제: ps a터미널에 연결된 모든 사용자 프로세스를 나열합니다. x"터미널에 연결" 제한을 해제합니다. ps x사용자를 호출하는 모든 프로세스를 나열합니다. ps ax모든 프로세스를 나열합니다.

ps -a세션 리더가 아닌 터미널에 연결된 모든 사용자 프로세스를 나열합니다.

ps -ax동등함: BSD 스타일 플래그가 있으면 ps ax모든 플래그가 BSD 스타일로 해석됩니다. 마찬가지로 .-xpsps -xps x

관련 정보