본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

프로세스 이름을 지정하여 같은 이름의 모든 프로세스에 시그널을 보낸다.

  • kill이 PID를 인자로 받는 것과 달리 killall은 프로세스 이름을 인자로 받는다.
  • 시그널을 지정하지 않으면 SIGTERM(15)을 보낸다.
  • psmisc 패키지에 포함되어 있다.
  • 경로 : /usr/bin/killall
$ killall [옵션] [-s 시그널 | -시그널] 프로세스이름...
  • -s, --signal 시그널 : 보낼 시그널을 지정한다. -9, -KILL, -SIGKILL처럼 시그널을 바로 지정할 수도 있다.
  • -l, --list : 사용할 수 있는 시그널 이름 목록을 출력한다.
  • -e, --exact : 이름이 긴(15자 초과) 프로세스를 정확히 일치할 때만 대상으로 한다.
  • -I, --ignore-case : 프로세스 이름의 대소문자를 구분하지 않는다.
  • -i, --interactive : 시그널을 보내기 전에 프로세스마다 확인을 요청한다.
  • -u, --user 사용자 : 지정한 사용자가 소유한 프로세스만 대상으로 한다.
  • -g, --process-group : 해당 프로세스가 속한 프로세스 그룹 전체에 시그널을 보낸다.
  • -r, --regexp : 프로세스 이름을 확장 정규 표현식으로 해석한다.
  • -o, --older-than 시간 / -y, --younger-than 시간 : 지정한 시간보다 오래된/최근에 시작된 프로세스만 대상으로 한다. (s, m, h, d, w, M, y 단위)
  • -v, --verbose : 시그널 전송 성공 여부를 출력한다.
  • -q, --quiet : 대상 프로세스가 없어도 메시지를 출력하지 않는다.
  • -w, --wait : 대상 프로세스가 모두 종료될 때까지 기다린다.
# httpd 이름의 모든 프로세스를 종료(SIGTERM)한다.
# killall httpd

# 응답이 없는 firefox 프로세스를 강제 종료(SIGKILL)한다.
$ killall -9 firefox

# sshd 프로세스에 SIGHUP을 보내 설정을 다시 읽게 한다.
# killall -HUP sshd

# user1 사용자의 모든 bash 프로세스를 종료한다.
# killall -u user1 bash

# 종료 전에 하나씩 확인한다.
$ killall -i sleep

# 사용할 수 있는 시그널 목록을 출력한다.
$ killall -l
  • kill은 PID, killall은 프로세스 이름을 인자로 받는다는 차이가 자주 출제된다.
  • 주요 시그널 번호 : SIGHUP(1), SIGINT(2), SIGKILL(9), SIGTERM(15, 기본값), SIGCONT(18), SIGSTOP(19), SIGTSTP(20)
  • killall -9 프로세스명, killall -HUP 프로세스명 같은 형식의 빈칸 채우기 문제가 나온다.