본문 바로가기
Programming/Linux

Process Management

by NAMP 2009. 6. 2.

 

init 프로세스

  • 리눅스 시스템에서 가장 중요한 프로세스이며, 부트 과정에서 커널이 수행하는 마지막 작업이다.
  • init 프로세스의 역할

    • 파일시스템의 점검과 마운트
    • 필요한 데몬 동작
    • 시스템 구성에 필요한 기타설정
    • 부모 프로세스가 없는 자식 프로세스에 대한 부모 프로세스 역할

 

ps

  • 현재 동작하고 있는 프로세스들의 상황(스냅샷)을 보여줌
  • 실시간으로 프로세스의 동작 상황을 확인하고 싶을 때는 top 명령어를 사용 

 

 

 Process 의 종류

프로세스에는 대화형 프로세스, 배치 프로세스, 데몬 프로세스로 구분되어 진다.

 

프로세스는 파일의 소유권과 유사한 방식의 소유권을 갖는다.

 

대화형 프로세스

 

배치 프로세스

  • 일련의 작업을 몰아서 특정 시각에 실행 시키는 것이며, 일반적으로 터미널과의 입/출력 교류가 전혀 없다. 
  • 중요하지 않은 작업에 대해 시스템의 사용률이 낮을 때 처리하는데 매우 유용
  • batch, cron, at 명령어를 사용한다. 

 

데몬

  • 데몬은 특정 서비스를 위해 백그라운드 상태에서 계속 실행되는 서버 프로세스 이다. 
  • 일반적인 서비스는 각각의 서비스가 사용하는 포트를 관리하는 데몬이 존재한다.
  • 다른 데몬들에게 할당된 포트를 관리하는 특별한 용도의 데몬도 존재한다.

 

부모 프로세스와 자식 프로세스

  • 프로세스는 여러가지 기능을 수행함으로써 주어진 작업을 완료하며, 모든 기능이 완료되기 전까지는 종료될 수 없다. 
  • 부모 프로세스는 여러개의 자식 프로세스를 실행하여 다수의 작은 작업들을 동시에 처리하도록 할 수 있다. 

 

exec

  • 한 프로세스가 다른 프로세스를 생성(spawn)할 경우 원래의 프로세스가 더는 남아 있을 필요가 없다면 exec 호출을 통해서 다른 프로그램을 실행하고 새로운 프로세스로 자신을 대체 할 수 있다. 

 

fork

  • exec 에 반해 원래 프로세스가 계속 존재해야 한다면 fork 를 호출하여 자신의 복사 본 프로세스를 먼저 만들고 복사본 프로세스에서 다시 exec 호출하여 다른 프로그램을 실행하는 새로운 프로세스로 자신을 대체한다. 

 

 

이 글은 스프링노트에서 작성되었습니다.

'Programming > Linux' 카테고리의 다른 글

Samba 의 소스 파일 및 자세한 사용법을 알고 싶으면  (0) 2009.06.21
awk  (0) 2009.06.02
sed  (0) 2009.06.02
User Account Management  (0) 2009.06.02
시스템 보안  (0) 2009.06.02

댓글