본문 바로가기
Software/Script

[Bash] 2. Process

by 리미와감자 2024. 11. 20.
728x90
반응형

[Bash] 2. Process

 

Process란?

  • Process는 실행 중인 프로그램 또는 명령어의 인스턴스를 의미한다.
  • Process는 시스템에서 작업 단위를 구성하며, CPU, 메모리, 파일 핸들 등의 자원을 사용하여 특정 작업을 수행한다.
  • 실행 시 CPU, 메모리, 파일 디스크립터 등의 시스템 자원이 할당된다.
  • PID(Process ID) : 각 Process는 고유한 ID를 가진다.
  • 부모-자식 관계 : Process는 다른 Process(부모 Process)에 의해 생성되며, 생성된 Process는 자식 Process가 된다.
  • 상태 : Process는 실행, 대기, 종료 등 다양한 상태를 가진다.

 

 

Process 실행 방식

  1. Foreground Process : 기본적으로 실행되는 프로세스는 포 그라운드에서 실행된다. 실행 중에는 터미널을 차지하여, 다른 명령어를 입력할 수 없다.
    • sleep 30
  2. Background Process : 프로세스가 백그라운드에서 실행되면 터미널과 독립적으로 동작하여, 사용자는 다른 명령어를 입력할 수 있다.
    • sleep 30 & : 명령 끝에 &를 추가하여 백그라운드 실행
  3. Daemon Process : 시스템 백그라운드에서 계속 실행되는 프로세스로 네트워크 서비스, 로그 관리, 스케줄링 등이 있다.
    • systemctl start sshd : SSH 데몬 시작
  4. One-Shot Process : 작업 완료 후 종료되는 프로세스이다.
    • echo “Hello World!”
  5. Interactive Process : 사용자의 입력에 따라 작동하는 프로세스
    • nano, vim 등의 텍스트 편집기나 터미널 기반 애플리케이션
  6. Zombie Process : 종료된 프로세스가 부모 프로세스에 의해 적절히 정리되지 않은 상태
    • ps 명령어로 확인 시 Z로 표시됨. 부모 프로세스를 종료하거나 시스템을 재부팅해서 처리
  7. Orphan Process : 부모 프로세스가 종료되었으나 자식 프로세스가 여전히 실행중인 상태
    • init 또는 systemd가 고아 프로세스를 관리함
728x90
반응형

'Software > Script' 카테고리의 다른 글

[Bash] 4.3 유용한 Command  (0) 2024.11.26
[Bash] 4.2 유용한 Command  (0) 2024.11.24
[Bash] 4.1 유용한 Command  (0) 2024.11.23
[Bash] 3. Command 훑어보기  (0) 2024.11.21
[Bash] 1. Shell이란?  (0) 2024.11.19

댓글