Linux에서 실행 중인 프로세스를 종료하는 방법
Source: Dev.to
Linux에서 프로세스란 무엇인가
Linux에서 프로세스는 현재 실행 중인 프로그램을 의미합니다. 모든 동작—보이든 숨겨져 있든—은 프로세스를 통해 이루어집니다. 시스템이 부팅될 때 시작되는 프로세스도 있고, 명령을 실행하거나 애플리케이션을 열 때 나타나는 프로세스도 있습니다. 각 프로세스는 메모리에 존재하며 시스템 자원을 사용합니다. 모든 것이 정상적으로 동작하면 프로세스는 스스로 시작하고 종료됩니다. 그러나 프로세스가 종료를 거부하거나 과도한 자원을 소비할 때 문제가 발생합니다.
Linux가 다중 프로세스를 관리하는 방법
Linux는 한 번에 여러 작업을 처리하도록 설계되었습니다. 스케줄링을 사용해 어떤 프로세스가 언제 CPU 시간을 받을지 결정합니다. 수백 개의 프로세스가 실행 중이더라도 Linux는 효율적으로 차례를 배분합니다. 그러나 하나의 프로세스가 협조를 멈추면 이 균형이 깨져 수동 개입이 필요하게 됩니다.

프로세스가 응답하지 않게 되는 이유
프로세스가 응답하지 않게 되는 이유는 다양합니다. 작업이 끝나기를 무한히 기다리거나 입력을 무시하는 상태에 빠질 수 있습니다. 프로세스는 여전히 존재하지만 정상적으로 동작하지 않으며, 종종 메모리나 CPU를 계속 소비하면서 유용한 작업을 수행하지 못합니다.
프로세스가 계속 실행될 때 일어나는 일
응답하지 않는 프로세스는 다른 작업을 느리게 만들고, 시스템 응답을 지연시키며, 자원을 차단할 수 있습니다. 이를 무시하는 것은 경고등을 무시하는 것과 같으며, 결국 전체 시스템 성능이 저하될 수 있습니다.
프로세스를 강제 종료해야 하는 이유
프로세스를 강제 종료해야 하는 일반적인 상황은 다음과 같습니다:
- 프로세스가 멈추고 응답하지 않을 때: 사용자 입력이나 명령에 반응하지 않으며 스스로 복구되지 못합니다.
- CPU나 메모리를 과도하게 사용할 때: 과도한 자원 사용이 시스템을 느리게 합니다.
- 다른 프로세스를 방해할 때: 자원을 점유해 다른 애플리케이션이 정상적으로 실행되지 못하게 합니다.
- 정상적인 종료가 불가능할 때: 일반적인 종료 명령을 무시하고 백그라운드에 남아 있습니다.
프로세스를 강제 종료하는 것은 리셋 버튼을 누르는 것과 같으며, 시스템이 다시 숨 쉬게 도와줍니다.
프로세스 식별이란
프로세스를 중지하기 전에 Linux는 어떤 프로세스를 대상으로 하는지 알아야 합니다. 식별이 중요한 이유는 여러 프로세스가 비슷한 이름을 가질 수 있기 때문에 Linux는 혼동을 피하기 위해 숫자를 사용합니다.
프로세스 ID(PID) 이해하기
프로세스 ID(PID)는 실행 중인 각 프로세스에 할당되는 고유 번호이며, 활성 프로세스가 같은 PID를 공유하지 않습니다. PID를 이름표에 비유하면, 이를 알게 되는 것이 프로세스를 중지하기 위한 첫 번째 단계가 됩니다.

Linux가 실행 중인 프로세스를 다루는 방식
Linux는 수백 개의 프로세스를 동시에 관리합니다. 각 프로세스는 다음을 가집니다:
- 우선순위 수준: 다른 프로세스와 비교해 얼마나 많은 CPU 시간을 받을지 결정합니다.
- 상태(실행 중, 대기 중, 정지): 프로세스의 현재 상태를 나타냅니다.
- 고유 PID: 시스템이 프로세스를 정확히 추적하고 관리할 수 있게 합니다.
프로세스를 종료하면 “이 프로세스를 지금 바로 멈춰라”는 메시지를 Linux에 보내는 것입니다.
Read the full article: