Lesson 08 — IPC: Giao tiếp liên tiến trình
1. Các cơ chế IPC — Nhấn để xem chi tiết
2. Walk-through: ls | grep .go
Bấm từng bước để thấy shell tạo pipe, fork, redirect và exec.
// Nhấn "Bước tiếp theo" để bắt đầu...
3. Bảng so sánh cơ chế IPC
| Cơ chế | Tốc độ | Hướng | Số lượng | Phù hợp với |
|---|---|---|---|---|
| Shared Memory | Nhanh nhất | 2 chiều | Nhiều-nhiều | Video, database buffer, data lớn |
| Anonymous Pipe | Nhanh | 1 chiều | 1 parent + children | Shell pipeline, parent-child streaming |
| Named Pipe (FIFO) | Nhanh | 1 chiều | Bất kỳ (qua tên) | Daemon ↔ CLI tool, log streaming |
| Message Queue | Trung bình | 2 chiều | Nhiều-nhiều | Task queue, event notification, priority |
| Signal | Nhanh (async) | 1 chiều | Bất kỳ → bất kỳ | Shutdown, reload config, child exit |
| Socket (Unix) | Trung bình | 2 chiều | Nhiều-nhiều | Client-server, cross-machine, microservices |
Chọn nhanh theo tình huống:
4. Mô phỏng Signal
Chọn signal và gửi từ Process A đến Process B. Quan sát hành vi mặc định và custom handler.
Process A (sender)
PID: 1001
Đang chạy...
Process B (receiver)
PID: 1002
Đang chạy...
Process A
→
SIGTERM
→
Process B
// Chọn signal và nhấn "Gửi Signal"...