기계적 인조 인간

리눅스에서 PS 명령 (목록 프로세스)

Unicode and character encoding

Unicode and character encoding

차례:

Anonim

Linux에서 실행중인 프로그램 인스턴스를 프로세스라고합니다. 때때로 Linux 시스템에서 작업 할 때 현재 실행중인 프로세스를 찾아야 할 수도 있습니다.

ps , pstree top 이 가장 일반적으로 사용되는 프로세스와 함께 실행중인 프로세스에 대한 정보를 찾는 데 사용할 수있는 명령이 많이 있습니다.

이 기사에서는 ps 명령을 사용하여 현재 실행중인 프로세스를 나열하고 해당 프로세스에 대한 정보를 표시하는 방법에 대해 설명합니다.

ps 명령을 사용하는 방법

ps 명령의 일반적인 구문은 다음과 같습니다.

ps

기록 및 호환성을 위해 ps 명령은 여러 가지 유형의 옵션을 허용합니다.

  • 단일 대시로 시작하는 UNIX 스타일 옵션. 대시없이 사용되는 BSD 스타일 옵션. GNU 긴 옵션 앞에는 두 개의 대시가 있습니다.

다른 옵션 유형을 혼합 할 수 있지만 경우에 따라 충돌이 발생할 수 있으므로 하나의 옵션 유형을 사용하는 것이 가장 좋습니다.

BSD 및 UNIX 옵션을 그룹화 할 수 있습니다.

가장 간단한 형태로, 옵션없이 사용하면 ps 는 현재 쉘에서 실행중인 최소 두 개의 프로세스, 쉘 자체 및 명령이 호출 될 때 쉘에서 실행되는 프로세스에 대해 네 개의 정보 열을 인쇄합니다.

ps

출력에는 쉘 ( bash ) 및이 쉘에서 실행중인 프로세스 ( ps , 입력 한 명령)에 대한 정보가 포함됩니다.

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

네 개의 열에는 PID , TTY , TIME CMD 레이블이 지정됩니다.

  • PID 프로세스 ID 일반적으로 ps 명령을 실행할 때 사용자가 찾고있는 가장 중요한 정보는 프로세스 PID입니다. PID를 알면 오작동 프로세스를 종료 할 수 있습니다. TTY 프로세스의 제어 터미널 이름입니다. TIME 프로세스의 누적 CPU 시간으로, 분과 초로 표시됩니다. CMD 프로세스를 시작하는 데 사용 된 명령의 이름입니다.

위의 결과는 많은 정보를 포함하지 않기 때문에별로 유용하지 않습니다. ps 명령의 강력한 기능은 추가 옵션으로 시작할 때 제공됩니다.

ps 명령은 특정 프로세스 그룹과 프로세스에 대한 다른 정보를 표시하는 데 사용할 수있는 방대한 옵션을 허용하지만 일상적인 사용에는 소수만이 필요합니다.

ps 는 다음 옵션 조합과 함께 가장 자주 사용됩니다.

BSD 형식:

ps aux

  • a 옵션은 ps 에게 모든 사용자의 프로세스를 표시하도록 지시합니다. 터미널과 관련이없는 프로세스 및 그룹 리더의 프로세스 만 표시되지 않습니다. u 는 프로세스에 대한 자세한 정보를 제공하는 사용자 지향 형식을 나타냅니다. x 옵션은 ps 에게 제어 터미널없이 프로세스를 나열하도록 지시합니다. 이들은 주로 부팅시 시작되고 백그라운드에서 실행되는 프로세스입니다.

이 명령은 USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME CMD 레이블이 붙은 열에 정보를 표시합니다.

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

PID , TTY , TIME CMD 레이블에 대해 이미 설명했습니다. 다른 라벨에 대한 설명은 다음과 같습니다.

  • USER 프로세스를 실행하는 사용자 %CPU 프로세스의 CPU 사용률. %MEM 머신의 실제 메모리에 대한 프로세스 상주 세트 크기의 백분율. VSZ -KiB 프로세스의 가상 메모리 크기입니다. RSS 프로세스가 사용중인 실제 메모리의 크기입니다. STAT - Z (zombie), S (sleeping) 및 R (running)과 같은 프로세스 상태 코드입니다. START 명령이 시작된 시간입니다.

f 옵션은 ps 에게 부모 프로세스와 자식 프로세스의 트리 뷰를 표시하도록 지시합니다.

ps auxf

ps 명령을 사용하면 출력을 정렬 할 수도 있습니다. 예를 들어 메모리 사용량을 기준으로 출력을 정렬하려면 다음을 사용하십시오.

ps aux --sort=-%mem

유닉스 형태:

ps -ef

  • -e 옵션은 ps 에게 모든 프로세스를 표시하도록 지시합니다. -f 는 전체 형식 목록을 나타내며 프로세스에 대한 자세한 정보를 제공합니다.

이 명령은 UID , PID , PPID , C , STIME , TIME CMD 라는 8 개의 열에 정보를 표시합니다.

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

아직 설명되지 않은 레이블의 의미는 다음과 같습니다.

  • UID 프로세스를 실행하는 사용자 인 USER 와 동일합니다. PPID 상위 프로세스의 ID입니다. C 프로세스 CPU 사용률 인 %CPU 와 동일합니다. STIME 명령이 시작된 시간 인 START 와 동일합니다.

특정 사용자로 실행중인 프로세스 만 보려면 다음 명령을 입력하십시오. 여기서 linuxize 는 사용자 이름입니다.

ps -f -U linuxize -u linuxize

사용자 정의 형식

o 옵션을 사용하면 ps 명령을 실행할 때 표시 할 열을 지정할 수 있습니다.

예를 들어 PID COMMAND 에 대한 정보 만 인쇄하려면 다음 명령 중 하나를 실행하십시오.

ps -efo pid, comm

ps auxo pid, comm

다른 명령과 함께 ps 사용

ps 는 배관을 통해 다른 명령과 함께 사용할 수 있습니다.

ps -ef | less

ps 명령의 출력은 grep 으로 필터링 할 수 있습니다. 예를 들어 루트 사용자에게 속한 프로세스 만 표시하려면 다음을 실행하십시오.

ps -ef | grep root

결론

ps 명령은 Linux 시스템에서 문제를 해결할 때 가장 일반적으로 사용되는 명령 중 하나입니다. 많은 옵션이 있지만 일반적으로 대부분의 사용자는 ps aux 또는 ps -ef 를 사용하여 실행중인 프로세스에 대한 정보를 수집합니다.

ps 대한 자세한 내용을 보려면 터미널에 man ps 를 입력하십시오.

ps 터미널