📚 리눅스 쉘 실행 구조 완전 이해

The Linux shell is not just a command interface but a system that interprets input, creates processes, and controls execution. This guide explains how programs are executed and managed, from fork and exec to signals and job control, as a single connected flow.

Latest posts

리눅스 파일 디스크립터(fd)와 dup, dup2 — 실행과 리다이렉션이 연결되는 진짜 구조

리눅스에서 리다이렉션과 파이프는 단순 문법이 아니라 파일 디스크립터(fd) 연결 구조의 변경이다. 이 글에서는 dup, dup2를 통해 stdout, stderr, pipe가 어떻게 연결되고, 쉘이 실행 전에 어떤 방식으로 I/O 흐름을 재구성하는지 내부 구조 기준으로 설명한다.

리눅스 fork와 exec 완전 이해 — 쉘은 어떻게 프로그램을 실행하는가

이 글은 쉘이 명령어를 직접 실행하는 것이 아니라 fork와 exec를 통해 새 프로세스를 만들고 실행을 위임하는 구조를 설명한다. 명령 실행, 백그라운드 작업, 파이프, 리다이렉션까지 이어지는 리눅스 실행 모델의 핵심을 한 흐름으로 정리한다.

리눅스 Job Control 완전 정리 — jobs, fg, bg와 백그라운드 실행 구조

Job Control은 프로세스를 실행하는 방법이 아니라, 실행 이후 상태를 어떻게 제어할 것인가에 대한 구조다. 이 글은 foreground, background, stopped 상태가 signal을 통해 어떻게 전이되는지, 그리고 jobs, fg, bg가 어떻게 하나의 제어 모델을 이루는지를 설명한다.