소개
이 챌린지에서는 다양한 명령어를 사용하여 리눅스에서 프로세스를 종료하는 방법을 배웁니다. 프로세스 관리는 실행 중인 애플리케이션과 서비스를 효율적으로 제어할 수 있게 해주므로, 리눅스 관리자나 사용자에게 있어 매우 중요한 기본 역량입니다.
학습 목표
kill- 프로세스에 신호 전달killall- 이름을 기준으로 모든 프로세스 종료pkill- 이름을 기준으로 모든 프로세스 종료
프로세스에 신호 전달하기
리눅스에서 실행되는 모든 프로그램이나 서비스는 고유한 프로세스 ID(PID) 를 가진 프로세스로 표현됩니다. kill 명령어를 사용하면 프로세스에 신호를 보낼 수 있으며, 가장 흔히 사용되는 신호는 프로세스를 종료하는 신호입니다.
현재 로그 파일에 지속적으로 내용을 기록하는 백그라운드 스크립트 프로세스가 실행 중입니다. 이제 kill 명령어를 사용하여 이 프로세스를 종료하는 신호를 보내야 합니다.
요구 사항
- 백그라운드 스크립트 (
/tmp/background-process.sh) 의 프로세스 ID 를 찾으세요. - 해당 프로세스를 종료하기 위한 신호를 보내세요.
- 프로세스 종료 시 반드시
kill명령어만 사용해야 합니다.
힌트
- 프로세스의 PID 를 찾으려면
ps aux | grep [process-name]명령어를 사용하세요. -9신호 (SIGKILL) 는 프로세스를 즉시 강제 종료합니다.- 일부 작업은 루트 권한 (
sudo) 이 필요할 수 있음을 유의하세요.
모든 프로세스 일괄 종료하기
kill 명령어는 PID 를 통해 개별 프로세스를 종료하는 데 강력한 도구이지만, 동일한 이름을 가진 여러 프로세스를 한꺼번에 종료해야 할 때는 더 편리한 명령어가 있습니다.
killall과 pkill 명령어를 사용하면 각 프로세스의 PID 를 일일이 찾아볼 필요 없이 프로세스 이름만으로 종료할 수 있습니다. 이는 동일한 프로그램의 인스턴스가 여러 개 실행 중일 때 특히 유용합니다.
이번 단계에서는 이 명령어들을 연습하기 위해 이전에 실행해 둔 nginx 웹 서버의 모든 프로세스를 종료해 보겠습니다.
요구 사항
- 모든
nginx프로세스를 종료하세요. killall또는pkill명령어를 사용하여 모든nginx프로세스를 한 번에 종료해야 합니다.
힌트
killall은 프로세스 이름이 정확히 일치해야 합니다.pkill은 좀 더 유연한 패턴 매칭을 지원합니다.- 시스템 프로세스를 다룰 때는 두 명령어 모두 루트 권한 (
sudo) 이 필요할 수 있습니다.
요약
축하합니다! 챌린지를 성공적으로 마쳤습니다.
이번 챌린지를 통해 다음과 같은 핵심적인 리눅스 프로세스 관리 기술을 습득했습니다:
ps명령어를 사용하여 실행 중인 프로세스를 식별하는 방법kill명령어를 사용하여 특정 PID 를 가진 프로세스를 종료하는 방법killall또는pkill을 사용하여 이름으로 여러 프로세스를 일괄 종료하는 방법
이 명령어들은 리눅스 관리자의 도구 상자에서 가장 기본이 되는 도구들로, 실행 중인 프로세스를 효과적으로 관리하고 제어할 수 있게 해줍니다. 오작동하는 애플리케이션을 중지하거나 서비스를 재시작해야 할 때, 이 명령어들을 통해 시스템 프로세스를 정밀하게 제어할 수 있습니다.
계속해서 즐겁게 학습하시기 바랍니다!



