개요
그간 여러 프로세스를 종료할 때 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 명령 결과에서 프로세스의 pid는 두 번째 열에 해당한다.
각 행에서 두 번째 열의 값을 awk 명령어로 가져온다.
ps -ef | grep airflow | awk '{print $2}'
각 PID를 xargs를 이용해 kill 명령어의 입력값으로 전달하여 실행한다.
실행 후 다시 프로세스 목록을 확인하면 더 이상 실행 중인 프로세스가 없는 것을 확인할 수 있다.