[Linux] Process

holy one·2023년 4월 11일
0
  • Process?
    컴퓨터의 CPU에서 실행되는 모든 프로그램을 프로세스라고 한다.

    ctrl + shift + ESC

CPU : 데이터를 연산(계산)
RAM : CPU가 처리할 데이터를 올려두는 공간 (실행중인 프로그램은 여기에)
HDD : 저장된 프로그램 및 데이터를 보관
프로세스 : CPU가 처리하기 위해서, RAM위에 올려져있는 상태의 실행중인 프로그램

  • Process의 기본 규칙
  1. 각각의 프로세스마다 고유 번호의 프로세스 ID(PID)를 하나씩
    증가시키면서 부여한다
  2. 더이상 할당할 PID가 없으면, 사용되지 않는 가장 낮은 숫자로
    되돌아가 다시 할당한다
  3. 프로세스는 파일의 소유권과 유사한 방식의 소유권을 갖는다
    프로세스를 실행하는 사용자의 UID가 프로세스의 실제 사용자 UID로 할당
  • Process의 종류
  1. 대화형 프로세스 - Putty - 터미널과 세션을 통하여 사용자와 정보를 주고받으며 실행하는 프로세스 , 오는게 있다면 가는게 있다.
  2. 배치 프로세스 - 예약 프로세스 // 자동업데이트,시작프로그램(Windows) 일련의 작업을 몰아서 특정 시간에 실행 시키는 것이며, 일반적으로 터미널과의 입/출력 교류가 전혀 없다 = 냅두면 알아서 실행
    (daemon ~= service)
  3. 데몬 프로세스 - 특정 서비스를 위해 백그라운드 상태에서 계속 실행되는 서버 프로세스이다 = 포트 관리자 = Server
    일반적인 서비스는 서비스가 사용하는 포트를 관리하는 데몬존재
  4. 좀비 프로세스 - 자식 프로세스가 종료 되었는데, 부모 프로세스에게 시그널 전달이 안되었을때, 혹은 손실(LOST)되었을 때 발생
  5. 고아 프로세스 - 부모 프로세스가 종료 되었는데, 자식 프로세스에게 시그널 전달이 안되었을때
  • 프로세스 중단 명령어
Ctrl + z = 동작정지
Ctrl + c = 동작취소
Ctrl + d = 동작종료,이전작업회귀
  • Foreground & Background Process
  1. Foreground Process
    쉘 상태에서 명령을 내리면 사용자는 해당 프로세스가 종료 될때까지 기다려야함

  2. Background Process
    일반적으로 명령뒤에 '&'를 붙여서 동작시키며, 명령을 내린 사용자는 자신이 하고자 하는 다른 명령어를 계속 실행 할 수 있음

관련 명령어

jobs : 중단된 프로세스를 나열하는 명령어

jobs -l : PID와 같이 출력

fg %1 : 1번 프로세스를 보여달라

bg %1 : 1번 프로세스를 bg로 돌려라

  • fg background 프로세스가 여러 개 존재할 경우 별도의 작업번호를 부여하지 않으면 현재 수행중인 (+기호가 붙은 ) 작업을 전환
  • bg fg process 를 bg process 로 돌리는 작업명령어
  • 보통 실행시키고 있는 fg Process 에서 Ctrl + z 키를 눌러 잠시 중지시킨 후 bg 명령어를 사용하여 작업을 백그라운드로 전환
profile
☁️ 좋아요!

0개의 댓글