리눅스에서 실행중인 프로세스를 확인하고 종료하는 명령어에 대해 알아보고자 한다.
쉘에서 현재 실행중인 프로그램이라면 ctrl+c 를 이용해 종료할 수 있겠지만,
백그라운드에서 동작하는 프로그램같은 경우는 어떻게 종료하는지 알아보자
◾PID 찾기
우선 프로세스를 종료하기 위해서는 이 프로세스의 PID
를 알아야한다.
이 PID를 이용해 kill
명령어로 종료시킬 것이기 때문이다.
ps -aux
또는 ps -ef
명령어를 사용할 수 있는데 본 글에서는 ps -aux
를 사용할 것이다
빠르게 찾을 수 있도록 grep
명령어를 이용해 우리가 원하는 키워드로 원하는 것을 찾도록 한다
ps -aux | grep <키워드>
or
ps -ef | grep <키워드>
실행중인 자바 애플리케이션을 종료한다고 가정해보자.
아래와 같이 명령어를 입력할 수 있다
ps -aux | grep java
2가지의 결과가 출력되었다. 실행중인 자바 애플리케이션을 종료할 것이므로 첫번째 줄의 jar 파일인 이 프로세스를 종료시켜야 한다.

PID를 확인하니 216503이다.
◾프로세스 종료하기
프로세스를 종료하는 명령어는 kill
이다 아래와 같이 PID를 입력하여 종료시킨다.
kill -15 <PID>
kill -15 216503 와 같이 입력하였다.
💡 kill 옵션 알아보기
kill <옵션> <PID>
-15
또는 TERM
(기본값) : 정상적인 종료를 시도한다. 프로세스가 정리 작업을 할 기회를 준다.
-9
또는 KILL
: 강제로 프로세스를 종료한다. 프로세스가 정리 작업을 할 기회를 주지 않고 즉시 종료된다.
ps -aux | grep java
명령어를 통해 현재 실행중인 프로세스를 다시 확인해보자 우리가 종료시킨 jar파일이 실행중인 프로세스에 보이지 않는다. 성공적으로 종료가 된 것을 알 수 있다.

맨 아래는 143
은 종료 시그널 번호이다. 백그라운드에서 실행되는 프로세스가 종료되었음을 나타낸다. 만일 프로세스가 강제로 종료되었다면 [1]+ Exit 143 대신 [1]+ Killed와 같은 메시지가 나타났을 것이다.
다시 확인하였을 때는 종료된 프로세스에 대한 정보는 이제 출력되지 않았고, 실행중인 프로세스만 출력되었다.
(참고로 아래 java라고 나오는 프로세스는 우리가 종료하려 했던 자바 애플리케이션이 아님)

'웹 개발 > linux' 카테고리의 다른 글
[linux] vi/vim 에디터 사용법 #2 (0) | 2024.03.17 |
---|---|
[linux] vi/vim 에디터 사용법 (0) | 2024.03.16 |
[linux] nohup 명령어 + 사용법 (0) | 2024.03.15 |
[linux/mysql] 리눅스에서 mysql설치, 접속하기 (0) | 2024.01.20 |
[linux] 기초 명령어 정리 (2) | 2023.12.17 |