리눅스 쉘 사용법 이해 - 프로세스 관리

SummerToday·2024년 1월 29일

도커, 서버 기술

목록 보기
5/34
post-thumbnail

리눅스의 다양한 프로세스 실행 환경

리눅스는 기본적으로 다양한 프로세스가 실행된다.

유닉스 철학 : 여러 프로그램이 서로 유기적으로 각자의 일을 수행하면서 전체 시스템이 동작하는 모델.

  • Foreground process
    쉘(shell)에서 해당 프로세스 실행을 명령한 후, 해당 프로세스 수행 종료까지 사용자가 다른 입력을 하지 못하는 프로세스.
    • Foreground process 제어하기
      [CTRL] + c : 프로세스 작업 취소 (해당 프로세스는 완전히 종료).
  • Background process
    사용자 입력과 상관없이 실행되는 프로세스.
    • 쉘에서 해당 프로세스 실행시, 맨 뒤에 &를 붙여준다.

      ex. find / -name '*.py' > list.txt &
          출력 : [1] 57
          [1] : 작업 번호 (job number), 57 : pid (process ID)


프로세스 상태 확인 - ps 명령어

사용법 : ps [option(s)]

option(s)
-a : 시스템을 사용하는 모든 사용자의 프로세스 출력 (보통 aux 와 같이 u, x 옵션과 함께 사용)
-u : 프로세스 소유자에 대한 상세 정보 출력
-l : 프로세스 관련 상세 정보 출력
-x : 터미널에 로그인한 후 실행한 프로세스가 아닌 프로세스들도 출력.
     주로 데몬 프로세스(daemon process)까지 확인하기 위해 사용.
     본래 ps 명령은 현재 쉘(shell)에서 실행한 프로세스들만
     보여주기 때문에 이 옵션을 사용하는 경우가 많다.
-e : 해당 프로세스와 관련된 환경 변수 정보도 함께 출력
-f : 프로세스 간 관계 정보도 출력

cf) 데몬 프로세스(daemon process): 사용자 모르게 시스템 관리를 위해 실행되는 프로세스로 보통 시스템이 부팅될 때 자동 실행 (예: ftpd, inetd 등).

  • 주요 ps 출력 정보 항목

    USER : 프로세스를 실행시킨 사용자 ID
    PID : 프로세스 ID
    %CPU : 마지막 1분 동안 프로세스가 사용한 CPU시간의 백분율
    %MEM : 마지막 1분 동안 프로세스가 사용한 메모리 백분율
    VSZ : 프로세스가 사용하는 가상 메모리 크기
    RSS : 프로세스에서 사용하는 실제 메모리 크기
    STAT : 프로세스 상태
    START : 프로세스가 시작된 시간
    TIME : 현재까지 사용된 CPU 시간(분:초)
    COMMAND : 명령

프로세스 중지 시키기 - kill 명령어

사용법

  • kill % 작업 번호(job number)
  • kill 프로세스 ID(pid)

    cf) 작업 강제 종료 옵션 : ‑9

ex. find / -name '*.py' > list.txt &
    출력 : [1] 57
    kill -9 5


주로 사용하는 프로세스 명령

  • ps aux | grep 프로세스명 : 프로세스가 실행 중인지를 확인하고, 관련 프로세스에 대한 정보 출력.
  • kill ‑9 프로세스 ID(pid) : 해당 프로세스를 강제 종료.
  • 명령 & : 터미널에서 다른 작업을 해야하거나, 프로세스 실행에 오랜 시간이 걸릴 경우 background 로 실행
  • [CTRL] + c : 프로세스 종료(실행 취소)



해당 글은 다음 강의의 내용을 참고한 글임을 밝힙니다. 자세한 내용은 다음 강의에서 확인해볼 수 있습니다. 인프런, 잔재미 코딩, ⌜풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]⌟
profile
블로그 이관했습니다.

0개의 댓글