본문 바로가기
목차
Linux

[Tip] 특정 문구가 있는 process들을 모두 종료시키기: kill

by ds31x 2023. 9. 8.
728x90
반응형
kill -9 `ps -ef|grep gunicorn|awk '{print $2}'`
  • gunicorn과 관련된 모든 process들을 종료시킴.

주요 구조

1차적으로 크게 보면 다음과 같음:

kill -9 ( PID 목록 )

 

  • ( PID 목록 )은 backtick  안의 command substitution(명령 치환) 결과임.
  • -9 = SIGKILL : 커널이 즉시 프로세스를 종료시킴.

backtick 안의 command substitution

ps -ef
  • 현재 시스템의 커널 제외한 프로세스 목록 출력
  • 주요 column: UID | PID | PPID | CMD ...
grep gunicorn
  • 프로세스 목록 출력 중 gunicorn 문자열이 포함된 line만 필터링.
  • 단점은 자기 자신도 포함된다(grep 프로세스 마저도)
awk '{print $2}'
  • 각 line의 두번째 column만 출력: PID

각 line별의 PID 를 뽑아내어 PID 들이 공백으로 구분된 인자목록이 되어 backtick 안의 표현식을 대체함.

이들이 kill -9 에 넘겨지는 ( PID 목록 ) 이 됨.


개선판

ps -ef | grep gunicorn | grep -v grep | awk '{print $2}' | xargs kill -9
  • xargs를 사용함.
  • grep -v grep 을 통해 grep  gunicorn은 제외.

같이 보면 좋은 자료들

2023.10.01 - [shell] - [Shell] command substitution

 

[Shell] command substitution

command substitution (명령어치환)우리나라말로 명령어 치환 이라고 불리며,특정 명령어의 수행결과를 문자열로 입력받는 형태로 셀프로그래밍 등에서 사용됨.command substitution 사용법아래 예제는 resu

ds31x.tistory.com

2025.12.31 - [shell] - grep (Global Regular Expression Print)

 

2025.07.25 - [shell] - kill: Process에게 Signal을 보내기.

 

kill: Process에게 Signal을 보내기.

kill은 프로세스 종료와 시그널 전송에 사용되는 명령어임.0. kill 이란?kill은 리눅스/유닉스에서 process에게 시그널(signal) 을 보내는 명령어. 문제는 가장 흔한 사용 사례가 process를 종료시키는 용

ds31x.tistory.com

https://dsaint31.tistory.com/234

 

[Linux] ps 명령어

linux에서 현재 동작하고 있는 process들에 대한 정보(목록 및 상태)를 보여줌.ps auxBSD 형식으로 현재 동작하고 있는 모든 프로세스에 대한 아래의 정보를 출력함.a : BSD 계열 옵션으로 터미널에 연관

dsaint31.tistory.com


 

728x90