Ubuntu/Linux - 특정 이름이 포함된 프로세스 모두 종료

우분투, 리눅스에서 kill 명령어로 프로세스를 종료할 수 있습니다. 하지만 특정 프로그램에서 많은 프로세스를 생성시키는 경우, kill 명령어를 여러번 입력해야하는 불편함이 있습니다.

한번의 명령어 입력으로 특정 이름이 포함된 모든 프로세스를 종료시키는 방법에 대해서 알아보겠습니다.

1. 특정 이름이 포함된 프로세스 확인

대략적인 방법으로, ps -ef | grep [process name]으로 실행 중인 프로세스 중에 특정 이름이 포함된 프로세스를 찾을 수 있습니다.

$ ps -ef | grep chrome
js         2314    1301  1 09:04 ?        00:08:02 /opt/google/chrome/chrome
js         2337    1301  0 09:04 ?        00:00:00 /opt/google/chrome/chrome_crashpad_handler --monitor-self --monitor-self-annotation=ptype=crashpad-handler --database=/home/mjs/.config/google-chrome/Crash Reports --url=https://clients2.google.com/cr/report --annotation=channel= --annotation=lsb-release=Ubuntu 20.04.1 LTS --annotation=plat=Linux --annotation=prod=Chrome_Linux --annotation=ver=112.0.5615.165 --initial-client-fd=5 --shared-client-connection
js         2339    1301  0 09:04 ?        00:00:00 /opt/google/chrome/chrome_crashpad_handler --no-periodic-tasks --monitor-self-annotation=ptype=crashpad-handler --database=/home/mjs/.config/google-chrome/Crash Reports --url=https://clients2.google.com/cr/report --annotation=channel= --annotation=lsb-release=Ubuntu 20.04.1 LTS --annotation=plat=Linux --annotation=prod=Chrome_Linux --annotation=ver=112.0.5615.165 --initial-client-fd=4 --shared-client-connection
...

2. killall 명령어로 모든 프로세스 종료

killall -r [pattern] 명령어는 프로세스에 pattern에 해당하는 프로세스를 kill시킵니다.

  • -r 옵션은 정규표현식 패턴으로 일치하는 프로세스를 종료할 때 사용

아래와 같이 chrome이 들어간 프로세스들을 모두 종료시킬 수 있습니다.

$ killall -r chrome

3. kill 명령어로 모든 프로세스 종료

아래 명령어는 name이 들어간 프로세스를 모두 종료시킵니다.

$ ps -ef | grep [name] | awk '{print $2}' | xargs kill -9

예를 들어, 아래와 같이 awk까지만 사용하면, chrome이 들어간 프로세스의 pid만 출력됩니다.

$ ps -ef | grep chrome | awk '{print $2}'
22379
22388
22390
22396
22397

그리고, 아래와 같이 xargs kill -9 까지 사용하면, 위에서 찾은 pid가 kill -9의 인자로 전달되어 모두 kill됩니다.

$ ps -ef | grep chrome | awk '{print $2}' | xargs kill -9
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha