[CPU 점유율이 높은 프로세스 종료시키기]
리눅스에서는 기본적으로 프로세스의 CPU 점유율이 한 자릿수입니다.
그런데 만일 두 자릿수가 존재한다면, 이는 해킹을 시도하는 백도어 파일일 가능성이 높습니다.
오늘 실습에서는 두 자릿수 프로세스를 백그라운드로 실행하고, 프로세스를 찾아 없애는 작업을 해보겠습니다.
일단 CPU를 잡아먹는 프로세스를 백그라운드로 실행시킵니다.
yes > /dev/null &
& 기호는 백그라운드에서 실행시킨다는 뜻입니다.
이 루프 계속 실행되는 것을 종료 시킬때는 ctrl + c
jobs 명령으로 백그라운드에서 돌아가는 프로세스를 확인할 수 있습니다.
이제 CPU 상태를 살펴 보겠습니다.
>top
CPU의 전반적인 상황이 실시간으로 보여집니다. 5초 간격으로 새로고침이 되는 중입니다.
Shift + P 키를 누르면, CPU 점유율이 높은 순으로 목록이 떨어집니다.
맨 위에 yes라는 프로세스가 무려 CPU의 98.9%를 차지하고 있네요. 엄청난 수치입니다.
해당 프로세스의 PID를 기억해둡니다.
PID: Process ID
이 프로세스를 없애기 위해서는, KILL 시그널을 보내줘야 합니다. 다음과 같은 명령어를 실행합니다.
>kill -9 20519
20519가 yes의 PID 입니다. kill -9를 쓰면 특정 프로세스를 종료시킬 수 있습니다.
*PID가 아닌 프로세스명으로 명령을 내리기 위해서는?
>killall 프로세스명
예를 들어 여기에서는 killall yes를 눌러도 프로세스 종료가 됩니다. 하지만 우리는 kill -9를 적용해보겠습니다.
네, 매우 정직하게도 죽었다고 메시지가 나왔습니다.
제대로 죽었는지 CPU에서 확인해봅시다.
>top
yes가 없어진 것을 확인할 수 있습니다.
**Tip!
top 상태를 벗어나지 않고 KILL 시그널을 수행하려면?
k 키를 눌러 PID를 입력하고 해당 시그널 번호를 입력해주면 수행된다.
ex> top → Shift+P → PID 확인 후 k 키→ PID → 9 (프로세스 종료)
ref : https://blog.naver.com/7meaning/60203209840
'서버(Server) > Linux' 카테고리의 다른 글
linux 명령어: rm - 파일 혹은 디렉토리 삭제 (0) | 2018.05.14 |
---|---|
Linux – sudo와 su의 차이 (0) | 2018.05.14 |
Linux 문서편집기 vi, vim 명령어 정리 (0) | 2018.05.11 |
WinSCP를 사용하여 Linux 인스턴스로 파일 전송 (0) | 2018.05.11 |
리눅스/유닉스] 디렉토리 이동 명령, 변경 방법 - Linux, Unix Directory Command (0) | 2018.05.10 |