나는매일가운데

DevOps - Linux (4) 프로세스와 서비스 본문

DevOps

DevOps - Linux (4) 프로세스와 서비스

전로찡 2023. 4. 27. 16:47
반응형

1. 프로세스

 

(1) 프로세스의 의미

- 컴퓨터 운영체제에서 실행 중인 프로그램

 

(2) 리눅스에서의 프로세스

- 프로그램의 인스턴스

- 시스템 리소스를 할당 받음

- 고유한 ID를 부여받음

 

 

(3) 프로세스의 부모/자식 관계

- bash(부모 프로세스)라는 프로그램을 통해 실행됨

- 명령어 (자식 프로세스) 가 부모에 의해 생성됨 -> 자식이 종료되면 부모가 종료 정보를 받는다.

 

(4) 프로세스 계층 구조

- Init process : 시스템 부팅 시 가장 처음으로 시작 되는 프로세스 (모든 프로세스의 부모)

=> ID =1

 

(5) 프로세스의 종류

- Demon : 프로그램이 실행될 때 자동으로 실행되는 프로세스  => 서버로서의 역할을 하는 프로세스

 

 

(6) 프로세스 관리의 의미

- 동작중인 리눅스 시스템에서 필요에 따라 프로세스 생성 및 제거 

- 어떤 프로세스가 어떤 상태인지 아는 것

- 실행 중인 프로세스에 대한 자원을 조정

=> 이는 모두 한정된 시스템의 자원을 효율적으로 사용하기 위함이다.

 

(7) 프로세스 관리 명령

- ps

- pstree

- pgrep = ps+grep

- top : 동작 중인 프로세스들의 상태를 실시간으로 화면에 출력

- uptime : 부팅이 끝난 시점에서 얼마나 오래 되었는지 표시

 

(8) Foreground 와 Background

 

  • Foreground

- 리눅스에서 일반적으로 사용자가 명령을 실행하는 방식

- 명령어가 끝날 때 까지 bash는 대기한다.

 

  • Background

- 프로세스가 진행되어도 백그라운드에서 실행되기 떄문에 별도의 프로세스로 진행된다. 

- bash는 계속 진행될 수 있다 => 다른 명령어를 동시에 사용할 수 있다.

 

 

2. 리눅스의 서비스

(1) 리눅스의 서비스

- 데몬 프로세스 : 서버에서 자동으로 동작, 키보드로 입력해서 작동하는 방식이 아님

 

 

(2) 서비스 제어

- systemctl명령어는 중요하다 (systemd에게 명령을 통해 프로세스 중지, 삭제 등을 명령할 수 있다)

 

반응형