리눅스에서 현재 사용중인 process(프로세스)를 중지(kill)하는 방법에 대하여 알아봅니다.



# 리눅스 process 중지, kill
리눅스에 여러개의 프로세스가 사용중인 경우 계속해서 cpu와 메모리를 사용하고 있게됩니다. 불필요한 리소스 낭비를 위하거나 다시 프로세스를 사용하기 위해서 기존 프로세스(process)를 중지(kill)하려면 어떻게 할까요?

아래는 현재 사용중인 프로세스를 알아보고 이를 중지하는 방법을 알아봅니다. 이 때 아래의 순서대로 진행합니다.

- 현재 사용중인 프로세스 찾기
- PID(프로세스 ID)를 사용하여 중지하기

이제 사용중인 프로세스를 먼저 찾아야합니다. 만약 python을 사용한 앱을 중지하려는 경우 아래처럼 python 이름으로 실행중인 process를 찾을 수 있습니다.
ps aux

ps 명령어를 사용하여 프로세스 조회가 가능하며 이때 옵션으로 aux 값을 사용하였습니다.

a // 모든 사용자의 프로세스를 출력함
u // 프로세스를 누가 사용하는지 보여줌
x // 모든 프로세스 목록을 보여줌

이제 python으로 사용중인 프로세스를 찾아봅니다. 파이프라인과 grep을 추가합니다.
ps aux | grep python

이제 사용중인 python 프로세스 목록을 알 수 있게됩니다. 좌측부터 확인하면 사용자와 pid를 보여줍니다. 이 pid를 사용하여 프로세스를 중지(kill)해야 합니다.


! 리눅스 현재 사용중인 pid를 중지하기
이제 pid를 알고 있으므로 중지하도록 합니다. 아래와 같이 입력합니다.
kill -9 PID

간단합니다. 만약 PID가 1555라면 아래와 같이 입력하게 됩니다.
kill -9 1555

매우 간단합니다.


! killall을 사용하여 프로세스 중지, kill
더 간단한 방법이 존재합니다. 바로 killall 명령어를 사용하는 방법입니다. killall은 프로세스의 이름을 사용하여 모든 프로세스를 중지할 수 있습니다. 즉 python 프로세스를 중지하기 위해서 아래와 같이 입력합니다.
killall pyhon

매우 간단합니다. 참고로 일정 시간 이상 동안 구동된 프로세스만 삭제하는 것도 가능합니다.

killall -o 10m 프로세스이름


이처럼 -o 옵션을 사용하며 뒤에 10m은 10분을 예로 들었습니다. 시간은 h, 날짜는 d를 사용할 수 있습니다.

여기까지 리눅스에서 현재 사용중인 프로세스를 중지하는 방법을 알아봤습니다.