Linux

[Linux] 여러 프로세스 한 번에 종료하기

비번변경 2022. 12. 29. 16:24

개요

그간 여러 프로세스를 종료할 때 ps -ef | grep 명령으로 찾은 후 한 땀 한 땀 pid를 입력해 종료를 했었다.

ps -ef | grep <PROCESS KEYWORD>
kill -9 <PID> <PID> <PID> <PID>

하지만 정리해야 할 프로세스가 몇십 개, 몇백 개가 넘어가니 그렇게 처리할 수가 없어졌다.

한 번에 여러 프로세스를 정리할 수는 없을까?

 

 

명령어

몇 가지 명령어를 조합하여 사용하면 검색한 문자열을 포함하는 프로세스를 한 번에 정리할 수 있다.

ps -ef | grep <PROCESS KEYWORD> | awk '{print $2}' | xargs kill -15

 

 

예시

예로 들어 아래와 같은 Airflow 관련 서비스를 한 번에 정리해보도록 하자.

ps -ef | grep airflow

ps -ef &#124; grep airflow

ps -ef 명령 결과에서 프로세스의 pid는 두 번째 열에 해당한다.

각 행에서 두 번째 열의 값을 awk 명령어로 가져온다.

ps -ef | grep airflow | awk '{print $2}'

각 PID를 xargs를 이용해 kill 명령어의 입력값으로 전달하여 실행한다.

실행 후 다시 프로세스 목록을 확인하면 더 이상 실행 중인 프로세스가 없는 것을 확인할 수 있다.

 

 

참고 문서

https://nem0.tistory.com/51