Linux/리눅스 시스템 관리

03-02 프로세스 관련 파일_프로세스 종료

easyfly 2022. 3. 12. 17:07
반응형

프로세스 종료

kill

  • kill 명령어는 프로세스에게 특정 시그널을 보낸다. 시그널을 지정하지 않은 경우 기본값으로 프로세스 종료를 위한 TERM 시그널을 보낸다.
  • 형식: kill [option] [pid]
  • 옵션
    • -signal, -s signal: 지정한 시그널을 보낸다.
    • -l: 사용 가능한 시그널 목록을 출력한다.
  • 예제
    • $ kill -9 -1: PID가 1인 프로세스를 제외하고 모든 프로세스를 강제 종료한다.

killall

  • 지정한 이름에 부합하는 모든 프로세스에게 시그널을 보낸다. 시그널을 지정하지 않으면 SIGTERM이 전송된다.
  • 지정한 프로세스 이름에 매칭되는 프로세스가 모두 종료되므로 여러 프로세스를 띄우고 있는 데몬을 종료할 때 유용하다.
  • 형식: killall [options] processname
  • 옵션
    • -I, --ignore-case: 대소문자 구분 무시한다.
    • -g, --process-group: 프로세스가 속한 그룹의 프로세스에게 모두 시그널을 보낸다.
    • -l, --list: 사용할 수 있는 시그널의 목록을 표시한다.
    • -s, --signal: SIGTERM 대신 보낼 시그널을 지정한다.
    • -u, --user: 지정한 사용자의 모든 프로세스에게 시그널을 보낸다.
    • -v, --verbose: 시그널이 성공적으로 보내졌는지 표시한다.
    • -w, --wait: 모든 프로세스가 종료할 때까지 기다린다.
    • -i: 포로세스 종료 전 사용자에게 물어본다.

pkill

  • 프로세스 이름과 지정한 패턴이 부합하는 프로세스만을 종료한다.
  • 형식: pkill [options] pattern
  • 옵션
    • -signal, --signal signal: 보낼 시그널을 지정한다.
    • -g, --pgroup pgrp...: 지정한 그룹의 프로세스 중 패턴이 매칭 되는 프로세스에게 시그널을 보낸다.
    • -G, --group gid...: 지정한 리얼 그룹 ID(real group ID)의 프로세스 중 패턴이 매칭 되는 프로세스에게 시그널을 보낸다.
    • -t, --terminal term...: 특정 터미널과 연관된 프로세스 중 패턴이 매칭되는 프로세스에게 시그널을 보낸다.
    • -u, --euid euid: 특정 이펙티브 사용자 ID(effective user ID)의 프로세스 중 패턴이 매칭 되는 프로세스에게 시그널을 보낸다.
    • -U, --uid uid...: 특정 리얼 사용자 ID(real user ID)의 프로세스 중 패턴이 매칭되는 프로세스에게 시그널을 보낸다.
  • 예제
    • $ pkill -HUP syslogd: 패턴이 syslogd와 프로세스 이름이 매칭되는 프로세스에게 HUP 시그널을 전송한다.
반응형