Linux에서 실행 중인 프로세스를 나열하고 관리하는 방법

게시 됨: 2022-04-04

프로세스 나열 Linux - 개발자는 매일 다양한 애플리케이션을 활용하고 터미널에서 명령을 실행합니다.
Linux 시스템에서 사용하는 각 응용 프로그램이나 수행하는 명령은 프로세스 또는 작업을 생성합니다. 최적의 시스템 성능을 보장하려면 시스템 관리자로서 프로세스를 제어해야 합니다.

멀티태스킹은 일반적으로 최신 컴퓨터뿐만 아니라 Linux 운영 체제의 가장 매력적인 기능 중 하나입니다. 결과적으로 수많은 프로그램을 동시에 실행할 수 있습니다.

목차

Linux에서 프로세스란 무엇입니까?

Linux에서 명령을 수행하거나 애플리케이션을 열면 프로세스가 시작됩니다. 반면에 응용 프로그램은 다양한 작업에 대해 여러 프로세스를 생성하고 실행하는 반면 명령은 하나만 생성합니다.

예를 들어 Visual Studio Code 편집기를 시작하면 Visual Studio Code 응용 프로그램을 종료하거나 종료할 때만 중지(또는 종료)되는 프로세스를 시작합니다.

마찬가지로, 터미널에서 명령(예: curl ifconfig.me)을 실행하면 명령이 완료되거나 종료될 때만 종료되는 프로세스가 시작됩니다.

각각의 새 프로세스는 기본적으로 포그라운드 프로세스로 시작됩니다. 이것은 새로운 프로세스가 시작되기 전에 완료되어야 함을 의미합니다. 백그라운드에서 실행되는 프로세스를 통해 동시에 다른 작업을 수행할 수 있습니다.

Linux에서 실행 중인 프로세스 나열

세 가지 명령 중 하나를 사용하여 Linux의 프로세스를 나열합니다.

  • ps 모든 프로세스 목록을 표시합니다. 더 자세한 출력을 얻기 위해 옵션과 함께 사용할 수도 있습니다.
  • top 현재 활성 프로세스의 라이브 목록을 표시하고 종료, 중지, 우선 순위 변경 등을 통해 프로세스와 상호 작용할 수 있습니다.
  • htop 프로세스에 참여할 수 있는 기회와 함께 사용자 친화적인 출력에 대한 즉각적인 결과

ps 를 명령어로 활용하기

ps 명령(프로세스 상태)은 현재 활성화된 모든 프로세스의 스냅샷을 만듭니다. 결과적으로 Windows 작업 관리자와 달리 결과를 예측할 수 있습니다.

ps 명령의 구문은 다음과 같습니다.

ps [options]

다음은 가장 일반적으로 사용되는 ps 명령 옵션 중 일부입니다.

  • a: 모든 사용자에게 문제를 일으키는 모든 프로세스의 목록을 만드십시오.
  • -A, -e: 시스템의 모든 프로세스 목록을 표시합니다.
  • -a: 세션 리더(프로세스 ID가 세션 * ID와 동일한 프로세스 ID) 및 터미널과 연관되지 않은 프로세스를 제외한 모든 프로세스를 나열합니다.
  • -d: 세션 리더를 제외한 모든 프로세스를 나열합니다.
  • -deselect, - N: 목록에서 사용자 정의 조건을 충족하지 않는 모든 프로세스를 제거합니다.
  • f: ASCII 아트를 사용하여 프로세스 계층을 표시합니다.
  • -j: 작업 형식으로 출력을 표시합니다.
  • T: 이 터미널에 연결된 모든 프로세스의 목록을 만드십시오.
  • r: 현재 활성화된 프로세스만 나열합니다.
  • u: CPU 및 메모리 사용과 같은 추가 정보를 포함하도록 출력 크기를 늘립니다.
  • -u: 프로세스를 나열할 사용자를 정의합니다.
  • x: TTY가 없는 프로세스가 포함됩니다.

옵션 없이 ps 명령을 실행하면 다음과 유사한 출력이 생성됩니다.

기본 출력에는 다음 범주가 포함됩니다.

  • PID : 프로세스 식별 번호
  • TTY : 프로세스가 작동 중인 터미널입니다.
  • TIME : 컴퓨터에서 보낸 총 시간(총 CPU 사용량).
  • CMD : 프로세스를 시작한 명령의 이름

a, u 및 x 옵션을 함께 사용하면 더 자세한 출력이 생성됩니다.

ps aux

이제 확장된 출력에 다음과 같은 새 범주가 포함됩니다.

  • USER: 이것은 프로세스를 실행하는 사람의 이름입니다.
  • %CPU: CPU가 사용 중인 시간의 비율입니다.
  • %MEM: 사용된 메모리의 비율입니다.
  • VSZ: 프로세스의 총 가상 메모리 사용량(KB)입니다.
  • RSS: "Resident Set Size"의 약자로 프로세스에서 사용하는 RAM의 양을 나타냅니다.
  • STAT: 프로세스의 현재 상태.
  • START: 프로세스가 시작된 시간입니다.

현재 실행 중인 프로세스를 계층적 순서로 표시합니다.

ps -axjf

Linux에서 top 명령을 사용하여 현재 실행 중인 프로세스 목록을 얻을 수 있습니다.

top 명령은 CPU 소비 순서가 감소하는 현재 활성 프로세스 목록을 제공합니다. 이것은 가장 많은 리소스를 사용하는 프로세스가 목록의 맨 위에 있음을 의미합니다.

top

기본 새로 고침 빈도가 3초인 경우 top 명령의 출력이 실시간으로 새로 고쳐집니다. 다음 범주는 top 명령의 출력에 나타납니다.

  • PID(프로세스 식별 번호): 프로세스 를 식별하는 번호입니다.
  • USER: 이것은 프로세스를 실행하는 사람의 이름입니다.
  • PR: 프로세스의 스케줄링 우선순위.
  • NI: 프로세스의 좋은 가치. 값이 낮을수록 중요도가 높음을 의미합니다.
  • VIRT: 프로세스에서 사용하는 가상 메모리의 양입니다.
  • RES: 프로세스가 사용하는 상주(물리적) 메모리의 양.
  • SHR: 프로세스의 총 공유 메모리 사용량입니다.
  • R(실행 중) 또는 S(절전): 프로세스 상태
  • %CPU: CPU가 사용 중인 시간의 백분율입니다.
  • %MEM: 메모리 사용량 백분율
  • TIME+: 사용된 총 CPU 시간입니다.
  • COMMAND: 절차를 시작한 명령입니다.

다음 옵션을 사용하여 top 명령과 상호 작용하거나 실행 중인 동안 출력 형식을 수정합니다.

top [option]

  • c: 전체 프로세스 경로를 표시합니다.
  • d: 출력 재생 빈도를 사용자 정의 값(초 단위)으로 설정합니다.
  • h: 도움말 메뉴를 불러옵니다.
  • k: 프로세스를 종료하기 위해 PID를 제공합니다.
  • M: 사용된 메모리 양에 따라 목록을 정렬합니다.
  • N: PID에 따라 목록을 정렬합니다.
  • r: 프로세스의 nice 값(우선순위)을 변경하기 위해 PID를 제공합니다.
  • z: 출력 색상을 변경하여 실행 중인 프로세스를 강조 표시합니다.
  • q: 명령 프롬프트를 종료합니다.

Linux에서 htop 명령을 사용하여 현재 실행 중인 프로세스를 볼 수 있습니다.

htop 명령은 top 명령과 동일한 결과를 생성하지만 더 사용자 친화적이고 이해하기 쉬운 방식입니다.

이 명령은 대부분의 Linux 배포판에 포함되어 있지 않으므로 직접 설치해야 합니다.

sudo apt install htop

사용

htop

명령은 다음 출력을 제공합니다.

프로세스 나열 Linux

htop 명령과 상호 작용하려면 다음 키를 누르십시오.

방향 키를 사용하여 프로세스 목록을 수직 및 수평으로 스크롤합니다.

  • F1: 도움말 메뉴를 표시합니다.
  • F2: htop 명령 설정 열기
  • F3: 찾을 프로세스의 이름을 입력합니다.
  • F4: 이름별로 프로세스 목록을 정렬합니다.
  • F5: 프로세스 계층 구조를 정렬된 목록으로 표시할지 트리로 표시할지 선택합니다.
  • F6: 열을 기준으로 프로세스 정렬
  • F7: 프로세스의 nice 값을 낮춥니다(우선순위를 높임).
  • F8: 프로세스의 nice 값을 낮춥니다(우선순위 낮춤).
  • F9: 현재 선택된 프로세스를 종료합니다.
  • F10: 명령 프롬프트를 닫습니다.

결론

Linux 운영 체제에서 실행 중인 모든 프로세스를 나열하는 방법을 아는 것이 중요합니다. 프로세스를 관리해야 할 때 이 전문 지식이 유용할 것입니다.
출력 및 명령 동작을 사용자 지정하려면 사용 가능한 명령 옵션을 사용하십시오.