Logo
내 게시판 만들기
리눅스

프로세스란 무엇인가

너구리 | 2026.04.27 13:51:00
조회 20 | 추천 0

프로세스는 「실행 중인 프로그램」입니다.

디스크의 실행 파일은 정적 데이터, 그게 메모리에 올라가 CPU·메모리·파일·네트워크 자원을 사용하며 동작 중인 상태가 프로세스.

같은 프로그램(예: 크롬)이 여러 번 실행되면 각각이 별개의 프로세스.



프로세스의 자원.

1) 메모리 — 코드·데이터·스택·힙.

2) 파일 디스크립터 — 열린 파일·소켓.

3) PID — 고유 ID.

4) 사용자·그룹 — 권한.

5) 환경변수.

6) 작업 디렉토리.

각자 독립된 환경.



프로세스 트리.

모든 프로세스는 부모 프로세스가 있고, 부모-자식 관계로 트리를 이룹니다.

PID 1은 init(systemd) — 모든 프로세스의 시조.

pstree 명령으로 트리 시각화.



fork와 exec.

새 프로세스는 「fork」(부모 복제) → 「exec」(다른 프로그램으로 교체) 패턴.

bash가 명령을 실행할 때마다 fork + exec.

유닉스의 기본 모델.



프로세스 vs 스레드.

프로세스는 「독립된 메모리 공간」, 스레드는 「프로세스 안에서 메모리 공유하는 작은 실행 흐름」.

한 프로세스가 여러 스레드 가능 — 데이터 공유 쉽지만 동기화 까다로움.

리눅스는 스레드도 내부적으로 「가벼운 프로세스」로 다룸.




한 줄 요약


프로세스는 실행 중인 프로그램, 메모리·파일·PID·권한 등 자원 보유.

부모-자식 트리(시조 PID 1), fork+exec로 생성.

스레드는 프로세스 안의 가벼운 실행 흐름.




더 알아볼 것


- pstree로 프로세스 트리

- exec 시스템 호출

- 좀비·고아 프로세스

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
132 별님이 26/04/27 24 0
131 야옹이 26/04/27 27 0
130 토순이 26/04/27 20 0
129 햇살이 26/04/27 20 0
128 다람쥐 26/04/27 32 0
127 구름이 26/04/27 20 0
126 별님이 26/04/27 21 0
125 별님이 26/04/27 20 0
124 야옹이 26/04/27 20 0
123 곰돌이 26/04/27 24 0
122 구름이 26/04/27 29 0
121 너구리 26/04/27 20 0
120 별님이 26/04/27 22 0
119 야옹이 26/04/27 19 0
118 너구리 26/04/27 24 0
117 너구리 26/04/27 33 0
116 햇살이 26/04/27 21 0
115 다람쥐 26/04/27 21 0
114 너구리 26/04/27 23 0
113 곰돌이 26/04/27 21 0
112 토순이 26/04/27 21 0
111 곰돌이 26/04/27 19 0
110 너구리 26/04/27 23 0
109 멍뭉이 26/04/27 20 0
108 토순이 26/04/27 17 0
107 토순이 26/04/27 19 0
106 구름이 26/04/27 25 0
105 토순이 26/04/27 20 0
104 구름이 26/04/27 19 0
103 곰돌이 26/04/27 19 0
신고하기

신고 사유를 선택해 주세요.