본문 바로가기 대메뉴 바로가기

테크니컬 스토리

아이티마야의 새로운 기술 뉴스를 만나보세요.
Linux 프로세스 관리
등록일
2024.05.08
첨부파일
ps, kill 명령어에 대해
Linux 프로세스 관리
  • OS: Centos7
  • kill 명령어는 프로세스 관리와 제어에 사용되고, ps 명령어는 현재 실행 중인 프로세스에 대한 정보를 확인하는 데 사용됩니다. 이들 명령어는 주의를 기울여 사용해야 하며, 올바른 옵션 및 시그널을 선택하여 원하는 동작 및 정보를 얻을 수 있습니다.

PS 명령어 옵션 값

● -e : 시스템의 모든 프로세스 출력

● -eM : 보안 정보 출력

● a : 터미널과 연관된 프로세스 출력

● -a : 터미널에 종속되지 않은 모든 프로세스를 출력

● -A : 모든 프로세스 출력

● -e : 커널 프로세스를 제외한 모든 프로세스 출력

● -M : 64Bit 프로세스 출력

● -u : 사용자 프로세스 출력

● -U root -u root u : root로 실행되는 프로세스 출력

● -x : 로그인 상태 동안 완료되지 않은 프로세스 출력

많이 사용하는 옵션 값

사용자, PID, 부모 프로세스(PID), 시작 시간, CPU 사용량 등이 포함됩니다.

  • # ps -ef
    UID       PID     PPID  C  STIME  TTY          TIME  CMD
    roo         1           0  0  110    ?      00:00:06 /usr/lib/systemd/systemd --switc
    roo         2           0  0  110    ?      00:00:00 [kthreadd]
    root        4           2  0  110    ?      00:00:00 [kworker/0:0H]
    root        6           2  0  110    ?      00:00:00 [ksoftirqd/0]
    root        7           2  0  110    ?      00:00:00 [migration/0]

    프로세스 간의 계층 구조를 트리 형식으로 출력합니다.
    # ps --forest

    모든 프로세스의 계층 구조를 표시합니다.
    # ps -e --forest

    특정 프로세스 ID(PID)에 대한 정보를 표시합니다.
    # ps -p (PID)

사용자, PID, CPU 사용량, 메모리 사용량, 상태 등의 정보를 제공합니다.

  • # ps -l
    F   S   UID       PID      PPID   C   PRI   NI   ADDR   SZ   WCHAN   TTY          TIME  CMD
    4   S      0    10325    10321   0    80    0    -     28886   do_wai    pts/1    00:00:00  bash
    0   R      0    10405    10325   0    80    0    -     38331   -            pts/1    00:00:00  bash

특정 사용자(user name)의 프로세스만 표시합니다.

  • # ps    - u (username)
    (예시)
    # ps    - u maya
      PID TTY                    TIME CMD

모든 사용자의 모든 프로세스를 자세한 형식으로 표시합니다.

  • # ps aux
    USER      PID   %CPU   %MEM      VSZ        RSS   TTY     STAT   START    TIME   COMMAND
    root          1     0.0        0.0    193672       6652   ?         Ss     110     0:06    /usr/lib/syst
    root          1     0.0        0.0            0           0    ?         S     210     0:00    [kthreadd]
    root          1     0.0        0.0            0           0    ?         S<   410     0:00    [kworker/0:0H
    root          1     0.0        0.0            0           0    ?         S     610     0:00    [ksoftirqd/0]

    모든 프로세스 정보를 너비 제한 없이 출력합니다.
    # ps auxwww

프로세스 종료 방법입니다.

  • 아래 명령어로 종료할 프로세스와 해당 PID를 확인합니다.
    # ps -efc
    or
    # ps -l
    or
    # ps

    아래 명령어로 종료해 줍니다.
    # kill -9 (PID)

    프로세스 이름으로 종료 방법
    # pkill (프로세스 이름)

    사용자의 모든 프로세스 종료
    # pkill -u (유저명)

    지원되는 시그널 목록 확인 방법
    # kill -l
    1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
    6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
    11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
    16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
    21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
    26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
    31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN
    + 1 36) SIGRTMIN+2 37) SIGRTMIN+3
    38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
    43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
    53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
    58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
    63) SIGRTMAX-1 64) SIGRTMAX
  • 시그널 선택의 중요성
    kill 명령어는 프로세스에 시그널을 보내어 동작합니다. 올바른 시그널을 선택하는 것이 중요합니다. 대부분의 경우, SIGTERM 시그널을 사용하여 프로세스에 종료 요청을 보냅니다. 만약 프로세스가 종료하지 않는다면, SIGKILL 시그널을 사용하여 강제 종료시킬 수 있습니다.

    ● 올바른 프로세스 ID(PID)를 사용해야 합니다. 잘못된 PID를 입력하면 다른 프로세스가 종료될 수 있으므로 주의가 필요합니다.
PLEASE WAIT WHILE LOADING...