본문 바로가기
Computer Science/Linux 다뤄보는 문과생

Linux 다뤄보는 문과생 (6) - 프로세스, 사용자, 자원 관리

by 싸코 2017. 11. 26.

Linux 다뤄보는 문과생 (6) - 프로세스, 사용자, 자원 관리


프로세스, 사용자 및 자원 관리


1. 프로세스 개념

Linux 운영체제는 프로세스들의 모임임
커널 위에서 동작하는 애플리케이션이 프로세스에 해당됨. 

- 시스템 프로세스 : 시스템 운영에 필요한 프로세스
- 사용자 프로세스 : shell 이나 유틸리티/어플리케이션에 의해 생성된 프로세스



1.1 프로세스 정의

프로세스는 현재 실행 중인 프로그램으로 프로그램의 실행 코드와 데이터가 메모리에 올라가고 프로그램이 수행되기 위한 기본적인 환경설정이 세팅됨


프로세스는 부모(Parent)와 여러 개의 자식(Child) 프로세스로 구성되어 있는데 PID로 Process ID로 구분하였고 0번 프로세스는 Linux 커널이 처음으로 생성. 1번 이훕퉈는 exec(), fork() 시스템 함수를 호출


getty -> exec() -> login -> 로그인 -> bash -> fork() -> 명령어

ls 프로세스 수행 끝나면 프로세스는 소멸되고 Bash 프로세스는 다른 명령을 기다림

프로세스 = 명령어 프로그램의 실행



1.2 프로세스의 구성 요소

Segment 영역

Text - 프로그램의 실행코드를 위한 세그먼트

Data - 프로그램 내부의 전역 데이터를 위한 세그먼트

Heap - 데이터 세그먼트의 확장을 위한 세그먼트

Stack - 프로그램 내부의 지역 데이터를 위한 세그먼트


U_Area 영역

PID - 프로세스 고유 ID
PPID - 부모 프로세스의 PID

UID, GID - 사용자, 그룹 ID

unmask - 파일 사용 권한 설정값



1.3 프로세스 제어 명렁어

프로세스의 상태를 확인할 수 있는 명령


ps [option]

현재 작업중인 터미널에 관련된 프로세스의 기본 정보만 보여줌


-e 현재 동작되고 있는 시스템의 모든 프로세스들을 보여줌

-l 프로세스에 대한 모든 정보를 출력

-f 프로세스 정보에 대한 중요


Z(좀비) 상태

 - 작업을 마무리한 종료 프로세스만 아직 종료전

 - 부모 프로세스의 처리를 기다리는 상태

 - 부모 프로세스에서 처리를 하지 못하면 계속 이 상태

 - 프로세스 개수가 최대치에 이르러 시스템 장애



init 프로세스명

모든 프로세스들을 생성/소멸시키는 중요한 프로세스


sleep 600


kill PID

killall




1.4 데몬 프로세스

백그라운드 프로세스로 수행되면서 관련된 작업을 수행하는 프로세스


데몬 프로세스는 Linux 시스템이 부팅될 때 수행되기 시작하고 시스템이 다운될 때 함께 종료


서비스 요청이 없을 때는 휴식 상태. 메모리나 자원들은 계속 차지. 터미널에 종속되어있지 않음. 터미널과 관련없이 백그라운드 프로세스로 동작


서비스 요청이 잦으면 standlone 모드

잦지 않으면 inetd 모드


service 데몬프로세스명 start

service 데몬프로세스명 stop


FTP 서버를 가동

 # service vsftpd start

시스템 부팅 시 FTP 데몬이 자동으로 수행되도록 설정

 # chkconfig vsftpd on

FTP 서비스 가능한지 확인

 # telnet localhost ftp



/etc/xinetd.d/ 서비스파일



1.5 프로세스 제어 도구

top 프로세스 관리자 같은 식으로

pstree  나무 형태로

at / cron  예약




2. 사용자 계정 관리







댓글