이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
이 기사에서는 Linux의 프로세스 관리에 대해 살펴보겠습니다. 프로세스가 무엇이고 어떻게 작동하는지에 대한 몇 가지 기본 사항을 다룬 다음 프로세스를 관리하는 데 사용할 수 있는 몇 가지 도구와 기술에 대해 알아봅니다.
프로세스는 실행 중인 프로그램의 인스턴스입니다. 프로그램을 실행하면 프로세스가 생성됩니다. 프로세스에는 열린 파일 목록, 실행 중인 스레드 목록 및 다양한 프로세스별 옵션을 포함하여 여러 관련 데이터 구조가 있습니다.
각 프로세스에는 프로세스를 추적하기 위해 운영 체제에서 사용하는 고유한 프로세스 ID(PID)가 부여됩니다. 프로세스는 생성 및 소멸될 수 있으며 다음 세 가지 상태 중 하나일 수 있습니다.
Linux에서 프로세스를 관리하는 데 사용할 수 있는 많은 도구와 기술이 있습니다. 여기에서 가장 일반적인 몇 가지를 다룰 것입니다.
ps 명령은 현재 실행 중인 프로세스를 나열하는 데 사용됩니다. 기본적으로 현재 사용자가 시작한 프로세스만 표시됩니다. 모든 프로세스를 보려면 -A 옵션을 사용하십시오.
ps -A
각 프로세스에 대한 자세한 정보를 보려면 -o 옵션을 사용하십시오. 예를 들어 각 프로세스의 PID, 명령 및 사용자를 보려면 다음 명령을 사용하십시오.
ps -o pid,command,user
ps와 함께 사용할 수 있는 다른 옵션이 많이 있습니다. 전체 목록은 ps 매뉴얼 페이지를 참조하십시오.
top 명령은 ps와 유사하지만 지속적으로 업데이트되는 프로세스 목록을 제공합니다. 또한 각 프로세스의 CPU 및 메모리 사용량과 같은 추가 정보도 표시합니다.
top을 종료하려면 q를 누르십시오. 프로세스 목록을 정렬하려면 o를 누른 다음 정렬 기준을 입력하십시오. 예를 들어 PID별로 정렬하려면 다음 명령을 사용합니다.
top -o pid
도움말 화면을 보려면 h를 누르십시오.
kill 명령은 프로세스에 신호를 보내는 데 사용됩니다. 기본적으로 프로세스 종료를 요청하는 SIGTERM 신호를 보냅니다. 프로세스가 해당 신호에 응답하지 않으면 -9 옵션을 사용하여 SIGKILL 신호를 보내 프로세스를 강제로 종료할 수 있습니다.
예를 들어 PID가 1234인 프로세스를 종료하려면 다음 명령을 사용하십시오.
kill 1234
ID가 5678인 프로세스 그룹의 모든 프로세스를 종료하려면 다음 명령을 사용하십시오.
kill -9 -5678
kill과 함께 보낼 수 있는 다른 많은 신호가 있습니다. 전체 목록은 kill 매뉴얼 페이지를 참조하십시오.
pkill 명령은 kill과 유사하지만 PID 대신 이름으로 프로세스를 종료할 수 있습니다. 예를 들어 이름이 firefox인 모든 프로세스를 종료하려면 다음 명령을 사용합니다.
pkill firefox
사용자 jane에 속하는 모든 프로세스를 종료하려면 다음 명령을 사용하십시오.
pkill -u jane
전체 옵션 목록은 pkill 매뉴얼 페이지를 참조하십시오.
killall 명령은 pkill과 유사하지만 처음 찾은 프로세스가 아니라 지정된 이름과 일치하는 모든 프로세스를 종료합니다. 예를 들어 이름이 firefox인 모든 프로세스를 종료하려면 다음 명령을 사용합니다.
killall firefox
사용자 jane에 속하는 모든 프로세스를 종료하려면 다음 명령을 사용하십시오.
killall -u jane
전체 옵션 목록은 killall 매뉴얼 페이지를 참조하십시오.
이 기사에서는 Linux에서 프로세스 관리의 기본 사항 중 일부를 다루었습니다. ps, top, kill, pkill 및 killall 명령을 사용하여 프로세스를 관리하는 방법을 살펴보았습니다.